我在C#.net中工作,基本上我希望我的插件能夠告訴用戶是否保存時,保存來自Excel本身,或者保存是來自「Visual Basic for Application」窗口。如何判斷何時在VBA窗口中
有沒有辦法判斷用戶當前是否在「Microsoft Visual Basic for Application」中?
編輯: 我不知道這是一個完整的教授解決方案,但我發現.Application.ActiveWindow.ActiveSheet == null似乎工作。
我在C#.net中工作,基本上我希望我的插件能夠告訴用戶是否保存時,保存來自Excel本身,或者保存是來自「Visual Basic for Application」窗口。如何判斷何時在VBA窗口中
有沒有辦法判斷用戶當前是否在「Microsoft Visual Basic for Application」中?
編輯: 我不知道這是一個完整的教授解決方案,但我發現.Application.ActiveWindow.ActiveSheet == null似乎工作。
上錯誤恢復下一 組WBK =工作簿( 「MyBook.xls」) 上錯誤的goto 0 是WBK什麼然後_ 設置WBK = workbooks.open( 「Mybook.xls」)
如果項目的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項目對象模型信賴的接:
是的,這很簡單。你遇到的困難具體是什麼? – 2013-03-20 16:12:24
ActiveSheet解決了你的問題嗎? – 2013-06-05 11:35:19
Andre Neves - 是的。對不起,延遲迴復 – user1255276 2013-07-17 18:37:49