我正在寫(並教我自己如何編寫)VB.NET 3.5中的實驗程序集,該程序集通過COM公開,然後從某些Excel VBA代碼調用以啓動實例該類捕獲一些Excel事件,然後在Excel中的活動工作簿上執行一些功能。.NET COM程序集通過BackgroundWorker與Excel交互
要啓動該類,將從VBA傳遞對Excel應用程序的引用(我在程序集中使用PIA for Excel)。
我需要在我的程序集上對活動工作簿執行耗時的操作,因此我決定在WinForm中使用BackgroundWorker
,以便在操作在後臺完成時顯示進度對話框。
我想知道是否有任何問題與COM通過COM使用後臺工作人員以這種方式進行交互?詢問的原因是程序集中的主類保存對Excel應用程序對象的引用,然後傳遞給BackgroundWorker
,以便它可以確定活動工作簿並對其執行一些操作。我只通過一個過程訪問工作簿本身(而不是其他對象)。
由於某種原因,我在我的腦海裏認爲Excel可能不會這樣 - 我說得對嗎?
有幾張投票結束;我不明白爲什麼這不是一個「真正的問題」。提問者問是否合法或者是一個bug:「[是]那裏......用這種方式使用後臺工作者通過COM與Excel交互的任何問題[?]」 –
是的,你是對的,有沒有問題,還是有更好的與Excel交互的方式? 也許我應該更好地表達這個問題......! –