2013-03-20 32 views
8

我在C#.net中工作,基本上我希望我的插件能夠告訴用戶是否保存時,保存來自Excel本身,或者保存是來自「Visual Basic for Application」窗口。如何判斷何時在VBA窗口中

有沒有辦法判斷用戶當前是否在「Microsoft Visual Basic for Application」中?

編輯: 我不知道這是一個完整的教授解決方案,但我發現.Application.ActiveWindow.ActiveSheet == null似乎工作。

+5

是的,這很簡單。你遇到的困難具體是什麼? – 2013-03-20 16:12:24

+0

ActiveSheet解決了你的問題嗎? – 2013-06-05 11:35:19

+0

Andre Neves - 是的。對不起,延遲迴復 – user1255276 2013-07-17 18:37:49

回答

2

上錯誤恢復下一 組WBK =工作簿( 「MyBook.xls」) 上錯誤的goto 0 是WBK什麼然後_ 設置WBK = workbooks.open( 「Mybook.xls」)

1

如果項目的VBE窗口打開,你可以做這樣的事情來返回一個布爾值True/False。我不知道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

相關問題