如何在VBA窗口中判断

8

我正在使用C#.net编程,基本上我想让我的插件能够判断用户保存文件时是来自Excel本身还是来自“Visual Basic for Application”窗口。

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

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


5
好的,这很简单。你具体遇到了什么困难? - Pieter Geerkens
ActiveSheet解决了你的问题吗? - André Chalella
安德烈·内维斯 - 是的,它做到了。对于回复晚了感到抱歉。 - user1255276
2个回答

2

在错误发生时继续执行下一步操作
设置wbk为“我的文档.xls”
如果出现错误则跳过,否则执行下一步操作
如果wbk为空,则打开“我的文档.xls”


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

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接