如何以非语言相关的方式检测excel中的粘贴事件

时间:2017-10-26 07:25:59

标签: excel-vba vba excel

this链接上,我尝试检测粘贴事件,但是我遇到了与Excel语言相关的问题。总之,我必须改变这一行:

lastAction = Application.CommandBars("Standard").Controls("&Undo").List(1)

进入

lastAction = Application.CommandBars("Standard").Controls("&Annulla").List(1)

正如您所看到的,代码与语言相关,因此如果我在其他excel版本中使用它,我会遇到问题。有没有更好的方法来识别撤消控制?

如果我没有更好的方法,我将使用

Application.LanguageSettings.LanguageID(msoLanguageIDUI)

选择正确的控件。我在哪里可以找到excel 2010的LanguageID列表(并且它与以后的版本不同)?

1 个答案:

答案 0 :(得分:2)

控件具有您应该使用的唯一ID:

Application.CommandBars("Standard").findControl(id:=128,recursive:=true).List(1)

http://jkp-ads.com/download.asp下载xlmenufundict,获取每个Office版本的ID列表。