Excel VBA:我可以设置一个全球性的右键点击事件吗?

有没有办法创build一个事件,以便每当用户右键单击时,我的某个.xlam控件得到控制? 在这种情况下,用户可能有几个.xlsx(非macros)工作簿打开,必须保持没有任何macros代码。 如果用户右键单击其中一个无macros工作表时打开,我希望.xlam获得控制权,并可能做一些事情。

在类中使用with事件variables,例如

Private WithEvents mxlApp As Excel.Application 

然后使用事件SheetBeforeRightClick。

 Private Sub mxlApp_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) End Sub 

xlsx文件应该安装.xlam文件才能运行。 希望这可以帮助。

http://www.cpearson.com/Excel/Events.aspx

http://www.cpearson.com/Excel/AppEvent.aspx