2010-03-23 82 views
0

我已經創建了一個應用程序在C#.NET 以保存ExcelExcel中保存在Windows失敗7

Excel._Workbook m_oWorkBook; 
m_oWorkBook.Save(); 

拋出了一個文件另存爲的MessageBox雖然工作簿已經保存在該API與Excel進行互動給定的名稱。

注意: 只有當Windows 7 &只有在打開其他工作簿時纔會發生這種情況。

任何線索。

回答

0

我不知道多少(如果有的話在所有)關於CSHARP的Excel的API,但看到其他人曾試圖回答這個問題,但我不能說你有什麼更好的選擇。 :)

已經仔細閱讀了一些文檔,我發現,Excel._Workbook.SaveAs()方法允許你指定的文件名,等等。如果確實Save()方法僅在Win7上打開SaveAs對話框,那麼它可能只是Win7中的一個錯誤。我建議,爲了暫時避免這個錯誤,你應該使用SaveAs()方法而不是Save()。所有的參數都是可選的,是第一位的,所以你可以假設只是傳遞當前文件的文件名和從保存打算應該實現相同的功能()。

如果這是Windows 7中的一個錯誤,我認爲這將是最好的/最痛苦的解決方法。希望這有助於。

+0

感謝您的答覆泰勒, 我已經嘗試另存爲API而不是保存API的所有相關參數,它仍然會彈出對話框。更重要的是它發生當我嘗試在一個新的實例中創建一個新的Excel文件時,Excel文件已經打開。 此程序可以FINE IN WIN VISTA和XP。 它還會引發異常,說「遠程過程調用」失敗。 – Karthik 2010-03-24 05:18:22

+0

對不起,我無法在Save/SaveAs問題上獲得更多幫助。 這是一個非常奇怪的問題,雖然它在Vista中工作正常。我完全認爲它必定是Win7 API中的某種錯誤。你正在做任何遠程過程調用?如果沒有,我覺得微軟會覺得有必要把RPC放入他們的* Excel * API中,這讓人感到有點恐懼...... – JMTyler 2010-03-24 14:31:15