2011-10-25 70 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「祝福」(有些人可能會說「受到感染」)的另一個症狀。

相關問題