在我的程序中,我想打開一個Excel文件並給出Excel焦點。如何通過C#打開Excel並提供Excel焦點
我使用process.Start()來做到這一點,它只能在第一次打開Excel時運行,它會啓動Excel併爲其提供焦點。
但是,如果我不收集第一個Excel或者這已經是我的系統中打開的Excel,並且返回到我的程序,打開另一個Excel,這次,新打開的Excel不會被帶到前臺並沒有重點。
我試圖使用Windows API來獲取窗口和設置的重點,但它拋出一個異常時,打開第二個Excel中:
process.MainWindowHandle = 'process.MainWindowHandle' threw an exception of type 'System.InvalidOperationException'
誰能幫助我?提前致謝。
我試過添加WaintForInputIdle,第一次打開excel,沒關係,但是在那之後,如果我嘗試打開另一個Excel,我會得到一個異常'沒有進程與此對象關聯。在process.WaitForInputIdle()和進程的每個屬性都是[process.xxxx'拋出'System.InvalidOperationException'類型的異常],就像一個沒有調用start()方法的進程一樣。 – zousijiu 2012-02-29 13:02:07
好的,我有另外一個想法。我在這裏猜測,因爲它很難通過堆棧溢出進行調試! – 2012-02-29 13:12:57