2010-03-23 59 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