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