Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以与语言无关的方式检测excel中的粘贴事件_Excel_Vba - Fatal编程技术网

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

如何以与语言无关的方式检测excel中的粘贴事件,excel,vba,Excel,Vba,在链接上,我试图检测粘贴事件,但我有一个与Excel语言相关的问题。总之,我必须更改这一行: lastAction = Application.CommandBars("Standard").Controls("&Undo").List(1) 进入 如您所见,该代码与语言相关,因此如果在其他excel版本中使用它,我将遇到问题。是否有更好的方法来识别撤消控件 如果我没有更好的方法,我会用 Application.LanguageSettings.LanguageID(msoLangua

在链接上,我试图检测粘贴事件,但我有一个与Excel语言相关的问题。总之,我必须更改这一行:

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

如您所见,该代码与语言相关,因此如果在其他excel版本中使用它,我将遇到问题。是否有更好的方法来识别撤消控件

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

Application.LanguageSettings.LanguageID(msoLanguageIDUI)

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

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

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

从下载XLMENUFUNDCT以获得每个Office版本的id列表。

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

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

请从下载XLMENUFUNDCT以获得每个Office版本的id列表。

在阅读第一个元素之前,我必须检查启用的
是否适当,以避免出现问题。现在的问题是
.List(1)
字符串与语言相关。。。你知道怎么解决吗?恐怕不知道,本地翻译的列表是我们无法改变的。您可能会尝试将列表中的值与其中一个粘贴按钮的标题进行比较?在读取第一个元素之前,我必须检查
已启用的
是否适当,以避免出现问题。现在的问题是
.List(1)
字符串与语言相关。。。你知道怎么解决吗?恐怕不知道,本地翻译的列表是我们无法改变的。您可以尝试将列表中的值与其中一个粘贴按钮的标题进行比较?