我有一个asp.net应用程序,它使用在电子邮件中生成文档附件的单词模板。最初我在我的本地驱动器上有模板进行测试,但现在我准备将应用程序放在我们的服务器上进行测试,我遇到了问题。如果我将模板放在应用程序中的文件夹中(仍然从Visual Studio运行)或网络驱动器上,我收到错误:
Word was unable to read this document. It may be corrupt.\nTry one or more of the following:\n* Open and Repair the file.\n* Open the file with the Text Recovery converter."}
Data: {System.Collections.ListDictionaryInternal}
ErrorCode: -2146823137
HResult: -2146823137
HelpLink: "C:\\Program Files (x86)\\Microsoft Office\\Office12\\1033\\WDMAIN11.CHM#24631"
InnerException: null
Message: "Word was unable to read this document. It may be corrupt.\nTry one or more of the following:\n* Open and Repair the file.\n* Open the file with the Text Recovery converter."
我的桌面上有Word 2007。我可以通过在网络驱动器上双击它来打开文档。我尝试将.dot的扩展名更改为.dotx&甚至重命名文件 - 没有做任何事情。我在线搜索的结果不属于我或没有帮助(权限问题,但我在应用程序本身收到模板错误)。
我的代码:
object templateDoc = "\\network path\\ServiceRequestForm.dotx";
object outputDoc = @"C:\temp\ServiceRquestFormOutput.docx";
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Add(ref templateDoc, ref missing, ref missing, ref missing);
doc.Activate();
Microsoft.Office.Interop.Word.Find fnd = wordApp.Selection.Find;
SearchReplace(fnd, wordApp, "%date%", date);
SearchReplace(fnd, wordApp, "%routingto%", routingTo);
错误来自行:
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Add(ref templateDoc, ref missing, ref missing, ref missing);
至于我使用MS.Office.Interop.Word ...这样做,不要问我为什么我不这样做,那样,你的方式,无论如何......如果你不这样做有任何可以帮助继续前进的东西。我感谢任何人都可以添加的建议。感谢。
答案 0 :(得分:0)
因为这是令人尴尬的承认,我没有将我的文档检入源代码控制。一旦我做了错误消失了,我没有更多的问题(截至目前!)。是啊...啊!