Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
C# 检测从VSTO加载项运行的VBA宏_C#_Vba_Excel_Vsto - Fatal编程技术网

C# 检测从VSTO加载项运行的VBA宏

C# 检测从VSTO加载项运行的VBA宏,c#,vba,excel,vsto,C#,Vba,Excel,Vsto,如果工作簿中的更改是由用户界面或VBA宏完成的,是否有任何方法可以捕获 当用户更改许多文件中的某些单元格时,我不得不添加一些内容。 某些文件中包含VBA宏,这些宏可以修改相同的单元格。当操作源在VBA代码中时,我希望忽略此类操作 到目前为止,我的想法是: 1) 事件-没有找到正确的事件 2) 系统堆栈-不知道我应该如何以及寻找什么 3) 动态VBA代码修改-添加标志-不优雅且不安全 感谢您的帮助无法检测谁在工作表上执行更改。如果工作表被隐藏(请参见属性)并且触发了更改事件,则VBA或VSTO代码

如果工作簿中的更改是由用户界面或VBA宏完成的,是否有任何方法可以捕获

当用户更改许多文件中的某些单元格时,我不得不添加一些内容。 某些文件中包含VBA宏,这些宏可以修改相同的单元格。当操作源在VBA代码中时,我希望忽略此类操作

到目前为止,我的想法是: 1) 事件-没有找到正确的事件 2) 系统堆栈-不知道我应该如何以及寻找什么 3) 动态VBA代码修改-添加标志-不优雅且不安全


感谢您的帮助

无法检测谁在工作表上执行更改。如果工作表被隐藏(请参见属性)并且触发了更改事件,则VBA或VSTO代码将起作用。

您无法知道单元格是否由用户或VBA代码更改。如果要忽略响应VBA代码而引发的
工作表\u更改
,则必须在让宏运行之前设置
EnableEvents=False
,但仅此一项就可能破坏宏。