Board logo

标题: [VBA] [求助] 如何屏蔽ctrl+c快捷键和右键??? [打印本页]

作者: dimita    时间: 2006-11-30 08:33     标题: [求助] 如何屏蔽ctrl+c快捷键和右键???

我在vb中调用了excel的文件,想在程序运行中,双击工作表中某个双击工作表后屏蔽单击右键弹出的快捷菜单,和屏蔽ctrl+c快捷键???原本想屏蔽了工作表的右键就可以了,可是谁知在双击工作表双击工作表后仍然又右键存在,请问各位大虾们,怎么能解决这个问题呀???!!!!
作者: dimita    时间: 2006-12-7 16:19


作者: Nothing    时间: 2006-12-7 18:47

屏蔽右键好像很难,因为Excel每个工作表都是一个Windows窗体,需要拦截N个窗体的右键事件。
作者: dimita    时间: 2006-12-8 11:16

哎呀,那怎么办呀,上头非让我做成那样的.其实,如果就屏蔽打开的excel的右键是可以办到的,问题是,在双击单元格后,右键又出来了东西了,讨厌死了!!!
作者: Nothing    时间: 2006-12-8 23:37

For Each bar In xlbook.Application.CommandBars
    If bar.Type <> 0 Then
        bar.Enabled = False
    End If
    Debug.Print bar.Type
Next
这样就可以了,在Form_Load的最后面。
作者: dimita    时间: 2006-12-13 08:39

我简直太崇拜你了,哈哈!真的好用哦,以后跟着大哥混了
不过,我能问问你是怎么想到用这种方法的吗,其实我都有点看不明白呢?
这个对屏蔽右键是好用了,但对ctrl+c快捷键不好用呢,麻烦你帮人帮到底吧!!
作者: Nothing    时间: 2006-12-13 11:08

原理是 把xlbook.Application.CommandBars所有的命令菜单的.Enabled 设置成 False。当然就不出了。关于这个,我是通过在VB中按F2调出对象查看器,然后只在Excel库中,查看Excel属性找到的,因为我也不知道是哪个,所以直接屏蔽了全部的。

ctrl+c这个我是没办法了。因为这个是Windows系统的操作,没办法屏蔽。还有,能做的是键盘钩子,当一调到这个界面,屏蔽ctrl+c 离开这个界面,取消屏蔽。关于键盘钩子,你可以查看我以前的贴子。
作者: dimita    时间: 2006-12-14 08:18

恩,我明白了,谢谢你哦!不亏是管理员呀,佩服佩服!




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0