2011-10-25 6 views
3

Windows 7에서 MS Visual Studio 2010으로 콘솔 응용 프로그램을 실행하고 있고 표준 C#을 사용하여 새 Excel 응용 프로그램을 만들 때 다음 오류 메시지가 나타납니다. 명령C에서 새 Excel 응용 프로그램을 만들 때 "클래스가 등록되지 않았습니다."오류가 발생했습니다.

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"버전 만 설치되어 있으므로 어떤 차이가 있습니까? 이와 같은 시도를하기 전에 전체 Office를 구매해야합니까?

+1

시험 버전이 문제 일 수 있습니다. AFAIK 자동화를 수행하는 경우 정품 버전의 Office 제품을 설치해야합니다. 코드가 얼마나 간단한 지 생각해보십시오. (나는 틀릴 수 있었다) – musefan

답변

2

평가판은 COM interop을 지원하기에 충분하지 않습니다. 나는 약간의 검색과 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 버전의 interop이 생겨 2010 년에 14 가지가 나올 거라 생각 하긴 하지만요. 약간의 기능 변경으로 너무 많은 문제는 없지만 때로는 특정 기능이 절대적으로 필요한 사람들을 만났습니다. 정말로 당신까지 :). – KreepN

3

초보자 용 또는 평가판 버전이 아닙니다. KreepN이 게시 한 두 번째 링크의 스레드를 읽으면 다음을 찾을 수 있습니다.

"나는 Office에서 다운로드 한 Office를 설치 한 것과 똑같은 오류가 발생하여 문제가 있음을 발견했습니다. "클릭하여 실행하십시오."

MS는 시험판을 다운로드하거나 온라인으로 구매할 때 사무실 클릭 유도 (CTR) 버전으로 안내합니다. 외부 자동화를 위해 CTR은 전혀 쓸모가 없습니다. 설치 및 실행되는 VM 종류는 Office 응용 프로그램 중 하나를 실행하고 실행중인 실제 컴퓨터에서 발생하는 상황을 인식하지 못하고 액세스 할 수 없을 때뿐입니다.

테스트로 신비한 추가 드라이브 (일반적으로 Q : 드라이브)가 있는지 확인하십시오. 이는 컴퓨터가 CTR로 "축복받은"또 다른 증상입니다 (일부는 "감염된"이라고 말할 수도 있음).

관련 문제