在MS Word 2010中打开word文档时,“在隐藏模块中编译错误:SmartTagsMod”

时间:2014-09-04 13:56:45

标签: c# wpf multithreading ms-word office-interop

我正在使用多线程WPF应用程序(.NET Framework 4)中的Interop库将大量MS Word文档转换为PDF。我在某些word文档中收到以下错误:

Screenshot of the error http://i60.tinypic.com/4fz9co.png

它会阻止当前线程,直到我在对话框上单击“确定”然后继续转换,转换后的PDF也会很好。

这只发生在某些文件上。我在多台计算机上运行该应用程序,这也发生在其他计算机上。

以下是我的转换代码:

var wordApplication = new Microsoft.Office.Interop.Word.Application();
// Opening the word document
var wordDocument = wordApplication.Documents.Open(tempFile, false, true, false, NoEncodingDialog: false);
// Exporting the document to the PDF
wordDocument.ExportAsFixedFormat(pdfPath, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
// Closing the document and the application.
((Microsoft.Office.Interop.Word._Document)wordDocument).Close(false);
((Microsoft.Office.Interop.Word._Application)wordApplication).Quit(false);
Marshal.ReleaseComObject(wordDocument);
Marshal.ReleaseComObject(wordApplication);
wordDocument = null;
wordApplication = null;

有谁知道造成这种情况的原因是什么?或者我是否可以从我的应用程序中关闭此对话框?

由于

1 个答案:

答案 0 :(得分:0)

wordApplication.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;

这似乎解决了这个问题。

感谢bibadia提供了解决问题的链接。