當我想編寫一個程序,這將在一大堆字97個文件(.DOC)的讀取,並將其保存爲.DOCX文件。我僅限於.Net 2.0。C#字的Interop AccessViolationException節省
在這個階段,我只想把它與我的存根代碼的工作 - 然後我會寫的GUI和邏輯在多個位置打開多個文件,等...
這裏是我到目前爲止:
using MSWord = Microsoft.Office.Interop.Word;
using MSPPoint = Microsoft.Office.Interop.PowerPoint;
然後
OpenFileDialog ofd = new OpenFileDialog()
{
CheckFileExists = true,
};
if (ofd.ShowDialog() != DialogResult.OK)
return;
MSWord.Application app = new MSWord.Application();
MSWord.Document doc = new MSWord.Document();
doc = app.Documents.Open(ofd.FileName);
try
{
doc.SaveAs2(ofd.FileName + ".docx", MSWord.WdSaveFormat.wdFormatDocument);
}
catch (Exception ex)
{
MessageBox.Show("Could not save because:\r\n" + ex.Message,
ex.GetType().ToString());
}
doc.Close();
app.Quit();
return;
至於我可以告訴大家,在Word文檔被打開。 但是,SaveAs2()
命令似乎會拋出AccessViolationException
,並且.docx未保存。
可有人請讓我知道什麼是錯的,上面的代碼,爲什麼它不節能,以及如何解決它?
謝謝
如何發佈確切的異常(與細節)? – steinar 2011-04-03 23:47:26