簡體   English   中英

Microsoft Word:Normal.dotm,無法打開現有文件:在c#中使用Microsoft.Office.Interop.Word

[英]Microsoft Word: Normal.dotm, cannot open the existing file: using Microsoft.Office.Interop.Word in c#

我有兩個使用Microsoft.Office.Interop.Word的打印過程,它們將在隔離的環境中正常運行。 但是,當它們在同一台計算機上一次運行一次時,出現Microsft Word錯誤,“ Word無法打開現有文件。(Normal.dotm)”。

我們當前對這個問題的解決方案是在腳本執行之間刪除Normal.dotm模板文件(這可以始終如一地工作),但是當我們不應該引用或破壞該模板時,我們希望不必刪除該模板,因為在Microsoft Word中手動打開新文檔可以正常工作。

我們首先運行的腳本一次創建並清理一個Word應用程序,第二個腳本創建一個Word應用程序隊列,該隊列用於處理大量郵件(請注意,這些過程在執行時間上並不重疊)。 當第二個進程創建其應用程序隊列時,將發生錯誤。 這兩個應用程序以下面的相同方式處理清理...

wordApp.Application.Quit(false);
wordApp.Quit(false);
Marshal.FinalReleaseComObject(wordApp);
Thread.Sleep(1000);
GC.Collect(); 

文檔本身已發布,因為不再需要它們,如下所示...

object noSave = Word.WdSaveOptions.wdDoNotSaveChanges;
doc.Close(ref noSave);
Marshal.FinalReleaseComObject(doc);

這是一個相對較新的問題,大約五個月前就出現在我們的VNC上。 該錯誤在Windows Server 2008和2012上均發生。我們正在使用Microsft Word2016。過去我沒有遇到此問題,我們將不勝感激。

我通過在normal.dotm上設置ReadOnly解決了這個問題。 還刪除運行Word的用戶的寫訪問權限。 已針對Word 2010測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM