2011-10-25 72 views
3

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

enter image description here

完整代码如下并执行新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参考已被添加到p roject:

enter image description here

我来还有什么我应该做的旁边有点疑惑。我看过一两个提到类似的错误消息的帖子,但我仍然不知道如何继续。

我只有安装了Microsoft Office 2010的试用版和“Starter”版本,所以这会有什么区别?在我尝试这样的事情之前,是否需要购买全功能办公软件?

+1

我会说试用版可能是问题是的,如果你正在做自动化,AFAIK你需要安装Office产品的完整版本。更重要的是,考虑你的代码是多么简单。 (虽然我可能是错的) – musefan

回答

2

试用版不足以支持COM互操作。我做了一点搜索和found someone else having the same problem

他显然没有安装它,并且由于他正在抛出与您相同的错误,所以我敢打赌,您需要一个完整版本来注册与系统的互操作性。

编辑:

做了更多一些挖掘和发现this SO user with the same problem a while back as well.看来我们的解决方案仍持有:)。

+0

谢谢。任何版本的Office都可以吗? – AndyUK

+2

是的,虽然我认为2007年会让你获得12版本的互操作性,2010年会让你14岁。他们有轻微的功能变化,所以它不会太重要,但我已经看到人们绝对需要某些功能,所以它是真的取决于你:)。 – KreepN

3

这不是事实,它是一个初学者或试用版,我怀疑。在KreepN发布的第二个链接中读一下,你会发现这个:

“我发现问题与我完全一样的错误,你得到的是,我从下载使用“点击运行”。“

当您下载试用版或在线购买时,MS会推动您进入点击运行(CTR)版本的办公室。为了实现外部自动化,点击率完全没有用处。它安装并运行在一种仅在您启动了其中一个Office应用程序时才存活的虚拟机,并且不知道它正在运行的物理计算机上正在发生的事情并且无法访问它。

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

相关问题