在C#中创建新的Excel应用程序时出现“类未注册”错误。

3

我正在Windows 7中使用MS Visual Studio 2010运行控制台应用程序,当尝试使用标准的C#命令创建新的Excel应用程序时,出现以下错误信息:

enter image description here

完整代码如下,在执行new Excel.Application()命令时出现错误:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Excel = Microsoft.Office.Interop.Excel;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            // Open a Excel spreadsheet
            Excel.Application excel = new Excel.Application();
        }
    }
}

我已经确保项目中添加了适当的.NET引用:

enter image description here

我有点困惑接下来该做什么。我看到了一两篇提到类似错误消息的帖子,但我仍然不知道如何继续。
我只安装了Microsoft Office 2010的试用版和“Starter”版本,这会有任何影响吗?我需要购买完整版Office才能尝试这样的操作吗?

1
我认为试用版可能是问题所在,如果你正在进行自动化操作,据我所知,你需要安装完整版本的Office产品。尤其是考虑到你的代码非常简单。(不过我可能错了) - musefan
2个回答

3
不是因为它是入门版或试用版,我怀疑。在KreepN发布的第二个链接中往下看一点,你会发现这个:

“我找到了我遇到的完全相同的错误的问题,那就是我使用‘Click to run’从下载安装的Office。”

当你下载试用版或在线购买时,微软会将你推向Office的Click to Run(CTR)版本。对于外部自动化来说,CTR是完全无用的。它会在一个虚拟机中安装和运行,只有在启动Office应用程序之一时才会运行,并且不知道和无法访问正在运行的物理计算机上正在发生的事情。

作为测试,请检查一下是否有任何神秘的附加驱动器(通常是Q:驱动器)。这是你的计算机被CTR“祝福”(有人可能会说是“感染”)的另一个症状。


2

谢谢。任何版本的Office都可以吗? - AndyUK
2
是的,虽然我认为2007会给你版本12的Interop,而2010会给你14。它们有轻微的功能变化,所以不会太重要,但我见过有些人绝对需要某些功能,所以这真的取决于你 :)。 - KreepN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接