我在Windows 7(终极版)开发人员计算机上安装了Office 2016预览版以及VS 2010.我有以下简单的C#WinForms应用程序尝试通过自动化创建Word文档:
using Word = Microsoft.Office.Interop.Word;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Word.Application word = new Word.Application(); // <- Causes exception
...
}
}
应用程序生成以下错误:
其他信息:检索组件的COM类工厂 CLSID {000209FF-0000-0000-C000-000000000046}由于失败而失败 以下错误:80080005服务器执行失败(异常来自 HRESULT:0x80080005(CO_E_SERVER_EXEC_FAILURE))。
上述问题的大多数搜索结果都涉及人们试图在实际服务器上运行(早期)版本的Office程序的情况。
我错过了什么吗?
PS:Office 2016本身就是一个奇怪的野兽,它在添加/删除程序中没有条目,其deployment tool只有选择要从下载中排除的应用程序的选项,以及没有修复现有安装的选项。
答案 0 :(得分:1)
我尝试通过创建WinForms项目并以.NET 4.0为目标,尽可能模仿您的系统。我能够毫无例外地创建Word.Application对象 我非常确定您是因为Windows注册表损坏而导致错误,可能是Office本身已损坏。
在放弃之前还有3件事可以做:
我在一个应用程序支持位置工作,其中应用程序通过加载项与Excel和Word非常集成,我不得不研究并向开发团队解释 (另一个供应商)为什么会发生这种情况以及在某些情况下如何解决它 直到我找到上面的第1步以及我在第一次评论你的问题时告诉你的步骤,每个案例都使用第3步解决。