我在 C#.net 中工作,基本上我希望我的插件能够判断用户何时保存、保存是来自 Excel 本身还是来自“Visual Basic for Application”窗口。
有没有办法判断用户当前是否在“Microsoft Visual Basic for Application”中?
编辑:我不知道这是否是一个完整的专业解决方案,但我发现 .Application.ActiveWindow.ActiveSheet == null 似乎正在工作。
错误继续下一个设置 wbk = workbooks("MyBook.xls") 错误转到 0 是 wbk 什么都没有然后 _ 设置 wbk = workbooks.open("Mybook.xls")
True/False
如果项目的 VBE 窗口打开,您可以执行类似的操作以返回布尔值。我不确定 C# 等效项是什么,但您可以简单地检查工作簿的 VBProject VB 编辑器是否处于活动状态:
Function IsVBEActive(wb as Workbook) As Boolean
Dim vbProj
Set vbProj = wb.vbProject
IsVBEActive <> vbProj.VBE.ActiveWindow Is Nothing
End Sub
注意这需要启用对 VB 项目对象模型的可信访问: