发新话题
打印

[VBA] [求助] 如何屏蔽ctrl+c快捷键和右键???

[求助] 如何屏蔽ctrl+c快捷键和右键???

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

TOP

TOP

屏蔽右键好像很难,因为Excel每个工作表都是一个Windows窗体,需要拦截N个窗体的右键事件。
换个头像,看见广告就眼红,直接封ID。

TOP

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

TOP

For Each bar In xlbook.Application.CommandBars
    If bar.Type <> 0 Then
        bar.Enabled = False
    End If
    Debug.Print bar.Type
Next
这样就可以了,在Form_Load的最后面。
换个头像,看见广告就眼红,直接封ID。

TOP

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

TOP

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

ctrl+c这个我是没办法了。因为这个是Windows系统的操作,没办法屏蔽。还有,能做的是键盘钩子,当一调到这个界面,屏蔽ctrl+c 离开这个界面,取消屏蔽。关于键盘钩子,你可以查看我以前的贴子。
换个头像,看见广告就眼红,直接封ID。

TOP

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

TOP

发新话题