我正在尝试使用 Visual Basic 创建一个 Word 文档。我发现这可以使用Microsoft.Office.Interop.Word
对象来完成。
我在网上找到了一些关于如何以编程方式创建 Word 文档的教程 ( https://support.microsoft.com/en-us/kb/316384 )。
我创建了一个简单的 Windows 窗体应用程序。单击按钮时,将创建 Word 文档。我确保Microsoft.Office.Interop.Word
在我的应用程序中添加对的引用。
我的问题是此时不断抛出错误:
app = New Microsoft.Office.Interop.Word.Application
错误是:
COMException occurred
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll
Additional information: Retrieving the COM class factory for component with CLSID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: ox80080005 (COE_SERVER EXEC FAILURE)).
我已阅读需要执行以下操作,因此我已确保在我的机器上安装了 word 2013,并且我已在应用程序的属性中将目标 CPU 设置为 x64。
如果有人对我遗漏的内容有任何见解,或者我做错了什么,我将不胜感激。
更新:
我已经在另一台机器上测试了我的代码并且它可以工作。所以这个错误的来源不是代码。
更新:铂。2
我一直在做更多的研究(http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows+Operating+System&ProdVer=5.2&EvtID=10010&EvtSrc=DCOM&LCID=1033),我相信我可能越来越接近问题的根源。我已经进入注册表,似乎无法与之通信的本地服务器指向 WINWORD.exe,这是有道理的。没有意义的是它正在寻找错误的 WINWORD.exe。我将尝试修复此问题,使其指向 Word 2013 而不是 Word 2010 的 WINWORD.exe。
解决方案
最终解决我的问题的是在办公室进行快速修复。我去控制面板,程序和功能,选择办公室,按下更改按钮,然后选择快速修复。不知道是什么导致事情搞砸了,但这确实解决了我的问题。