8

我在 C#.net 中工作,基本上我希望我的插件能够判断用户何时保存、保存是来自 Excel 本身还是来自“Visual Basic for Application”窗口。

有没有办法判断用户当前是否在“Microsoft Visual Basic for Application”中?

编辑:我不知道这是否是一个完整的专业解决方案,但我发现 .Application.ActiveWindow.ActiveSheet == null 似乎正在工作。

4

2 回答 2

2

错误继续下一个设置 wbk = workbooks("MyBook.xls") 错误转到 0 是 wbk 什么都没有然后 _ 设置 wbk = workbooks.open("Mybook.xls")

于 2013-06-07T19:21:51.597 回答
1

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 项目对象模型的可信访问:

在此处输入图像描述

于 2013-06-07T19:48:13.097 回答