首页 > 解决方案 > 检测从 VSTO 插件运行的 VBA 宏

问题描述

如果工作簿中的更改是通过用户界面或 VBA 宏完成的,有什么方法可以捕获?

当用户更改许多文件中的某些单元格时,我让 VSTO 插件做一些事情。一些文件中包含 VBA 宏,这些宏可以修改相同的单元格。当动作源在 VBA 代码中时,我想忽略这种动作。

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

谢谢你的帮助

标签: c#vbaexcelvsto

解决方案


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


推荐阅读