2012-08-16 39 views
0

我想複製Word文檔到c#web應用程序中的文本框。 我添加了Microsoft Word 10.0對象庫。但我得到一個例外。c#錯誤複製word文檔到文本框

錯誤:服務器引發異常。 (異常來自HRESULT:0x80010105(RPC_E_SERVERFAULT))

Microsoft.Office.Interop.Word.ApplicationClass wordApp = new ApplicationClass(); 
object file = filePath; 
object nullobj = System.Reflection.Missing.Value; 
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(
      ref file, ref nullobj, ref nullobj, ref nullobj, 
      ref nullobj, ref nullobj, ref nullobj, ref nullobj, 
      ref nullobj, ref nullobj, ref nullobj, ref nullobj, 
      ref nullobj, ref nullobj, ref nullobj, ref nullobj); 

doc.ActiveWindow.Selection.WholeStory(); 
doc.ActiveWindow.Selection.Copy(); 
TextBox1.Text = doc.Content.Text; 
doc.Close(ref nullobj, ref nullobj, ref nullobj); 
wordApp.Quit(ref nullobj, ref nullobj, ref nullobj); 
+0

你會得到什麼樣的例外? – stuartd 2012-08-16 09:32:49

+0

Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open( ref文件,ref nullobj,ref nullobj,ref nullobj, ref nullobj,ref nullobj,ref nullobj,ref nullobj, ref nullobj,ref nullobj ,ref nullobj,ref nullobj, ref nullobj,ref nullobj,ref nullobj,ref nullobj); – user1557308 2012-08-16 09:33:43

回答

0

您應該使用Microsoft.Office.Interop.Word.Application代替ApplicationClass`(被記錄爲 '保留供內部使用'):看到http://blogs.msdn.com/b/ptorr/archive/2004/02/05/67872.aspx對於爲什麼細節。

+0

是否做到了。仍然得到相同的異常 – user1557308 2012-08-16 10:42:27

+0

您是否使用Interop類的正確版本?我相信如果Interop版本與安裝的版本不同,它可能會導致問題。另外,你的文件路徑是否有效?我只是嘗試了你的代碼,它爲我工作。 – stuartd 2012-08-16 10:46:54

相關問題