我有一個彈出窗體的Excel加載項。如果用戶填寫某些值並單擊「應用」按鈕,則值將正確發送到基礎工作表,並彈出窗體關閉。但是,如果用戶點擊「取消」,彈出的消息框會驗證用戶是否想要取消。單擊「是」會導致彈出窗體關閉,但也會將Excel發送到之前活動的窗口後面 - 非常像按Alt-Tab。不是很好!Excel表格關閉時,Excel插件將表格發送到背景
有沒有人有任何關於如何保持Excel的概念?
謝謝!
蘭迪
我有一個彈出窗體的Excel加載項。如果用戶填寫某些值並單擊「應用」按鈕,則值將正確發送到基礎工作表,並彈出窗體關閉。但是,如果用戶點擊「取消」,彈出的消息框會驗證用戶是否想要取消。單擊「是」會導致彈出窗體關閉,但也會將Excel發送到之前活動的窗口後面 - 非常像按Alt-Tab。不是很好!Excel表格關閉時,Excel插件將表格發送到背景
有沒有人有任何關於如何保持Excel的概念?
謝謝!
蘭迪
我看了上的ActiveWindow /有效收視種種變化,但沒有找到任何適用的。最後,我繞着Mulberry布什想出了這個:
IntPtr excelWindow = excelWindow = SpreadsheetApplicationFactoryBase.TheExcelApp.ExcelWin32Window.Handle;
Win32.SetActiveWindow(excelWindow);
醜,但它的作品。工廠是一個創建/返回Excel實例的小類。
我非常欣賞輸入。
蘭迪
您可以在消息框中ActiveWindow.ActivatePrevious
和測試後,把這個權與
Debug.Print ActiveWindow.Caption
ActiveWindow.ActivatePrevious
Debug.Print ActiveWindow.Caption
我真的很笨嗎?我沒有ActiveWindow,或者至少,IntelliSense無法識別。或者,這僅僅是你實例化的簡寫嗎? – EoRaptor013
智能感知讓它彈出了我......也許你可以嘗試'Application.ActiveWindow'。雖然這很奇怪。如果我再回到Windows機器上,我會再試一次。 – Brad
是的,剛剛確認。如果我開始輸入「activew」,然後按Ctrl +空格完成它。不明確附加到對象。 – Brad
我仍然想知道爲什麼Yes/No確認框將整個應用程序發送到後臺。這對我來說沒有任何意義。 – EoRaptor013