2017-01-24 10 views
0

Visual Studio 2015를 사용하여 Excel 추가 기능을 만들고 싶습니다.이 옵션은 VSTO입니다. 그러나 몇 가지 이유 때문에 VSTO가 아닌 COM 라이브러리를 사용하여 만들어야합니다.COM 라이브러리를 사용하여 Excel 추가 기능 개발

VS2008과 같이 VS에 공유 추가 기능이라는 프로젝트 템플릿이 있고이 다음에 Office 추가 기능을 만들 수 있지만 더 높은 버전에서는 제거 된 것으로 보입니다. 버전의 VS. 적어도 VS2015에서는 찾을 수 없습니다. 이제는 할 수있는 일은 프로젝트 (클래스 라이브러리)에서 Excel 참조 만 추가하는 것입니다. 나는 다음에해야할 일을 모른다.

그래서 VS2015에서 COM 라이브러리를 사용하여 Excel 추가 기능을 만들 수 있습니까? 이것에 대한 해결책이 있습니까?

미리 감사드립니다. 추가 후, ClassLibrary 프로젝트를 만듭니다

1) :

+0

왜 VSTO를 피하려고합니까? 그것은 평범한 COM보다 낫지 만 어떤 중요한 제한도 부과하지 않는 것 같습니다. – Nikolay

답변

0

마지막으로, 내가 여기 단계 목록에 따라, 대략 몇 가지 조사를 통해이 문제를 해결 한, 엑셀 추가 기능 엑셀 COM 라이브러리를 생성 할 수 있습니다 이 프로젝트에 대한 두 가지 참조 : 확장 성 (.NET 어셈블리) 및 Microsoft Excel 16.0 개체 라이브러리 (COM 구성 요소);

2) 클래스를 추가하고 IDTExtensibility2 인터페이스를 Extensibility에 구현하면 OnConnection 메서드에 일부 코드를 추가 할 수 있습니다.

3)이 어셈블리를 COM으로 표시하고 현재 프로젝트의 속성 창에서 응용 프로그램 탭을 선택하고 어셈블리 정보 버튼을 클릭 한 다음 해당 항목을 선택합니다.

4) 서명하려면 서명 탭에서 "서명 어셈블리"를 선택한 다음 새 강력한 이름 키 파일을 만듭니다.

5) Guid의 값을 AssemblyInfo.cs에서 찾을 수 있으며 ProgId는 COM 개체에서 중요합니다.

6) 프로젝트를 빌드하고 regasm 도구를 사용하여 COM에 표시되도록합니다. regasm xxx.dll/codebase;

7) 레지스트리 편집기를 열고 HKCU \ Software \ Microsoft \ Office \ Excel \ Addins로 이동하고 새 하위 키를 만들고 새 하위 키의 이름을 ProgId의 값과 같게 설정 한 다음 다음 세 가지 가치 항목 :

  • 설명 (문자열) : <progid value or something else>;

  • FriendlyName (문자열) : <progid value or a friendly name for progid>;

  • 경우 LoadBehavior (DWOWD) : 3

8) 사무실 시작은 추가 기능이 자동으로로드됩니다.