DetailPage-MSS-KB

기술 자료

기술 자료: 291392 - 마지막 검토: 2006년 5월 22일 월요일 - 수정: 3.1

이 문서는 이전에 다음 ID로 출판되었음: KR291392

요약

Microsoft Excel 2002에서는 COM(구성 요소 개체 모델) 추가 기능 이외에 자동화 추가 기능을 지원합니다. 이 문서에서는 두 가지 유형의 추가 기능에 대한 차이점을 설명합니다.

추가 정보

COM 추가 기능

개발자는 COM 추가 기능을 사용하여 사용자 지정 작업을 위해 Office 2000, Office XP 및 Office 2003 응용 프로그램의 기능을 확장할 수 있습니다. COM 추가 기능은 일반적으로 CommandBar 단추, 양식 또는 대화 상자를 누르거나, 통합 문서를 열고 닫거나 워크시트에 데이터를 입력하는 등의 Excel에 특정한 기타 몇 가지 이벤트에 대한 응답으로 Excel을 자동화하는 데 사용됩니다. COM 추가 기능은 워크시트의 셀 수식에서 직접 호출할 수 없습니다.

COM 추가 기능은 IDTExensibility2 인터페이스를 구현해야 하는 종속 프로세스 COM 서버(ActiveX DLL)입니다. 모든 COM 추가 기능은 이 인터페이스의 5가지 각 방법 즉, OnConnection , OnStartupComplete , OnAddinsUpdate , OnBeginShutDownOnDisconnection을 구현해야 합니다.

사용자 시스템에 COM 추가 기능이 설치되어 있으면 추가 기능에 대한 레지스트리 항목이 만들어집니다. 일반 COM 등록뿐 아니라 COM 추가 기능은 실행되는 각 Office 응용 프로그램에 대해 등록됩니다. Excel에서 사용되는 COM 추가 기능은 다음 레지스트리 키에 등록됩니다.
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 
					
이 키에는 설치된 각 COM 추가 기능에 대한 하위 키가 포함되어 있습니다. COM 추가 기능의 하위 키 이름은 ProgID입니다. COM 추가 기능의 하위 키에는 COM 추가 기능의 이름, 설명 및 로드 동작을 설명하는 값도 포함되어 있습니다. 로드 동작은 시작할 때 로드, 다음 시작할 때만 로드, 요구할 때 로드 또는 로드하지 않음 등 Excel에 추가 기능이 로드되는 방법을 설명합니다.

또한 COM 추가 기능은 Excel 사용자 인터페이스를 통해 로드하고 언로드할 수도 있습니다. 이렇게 하려면 다음 단계를 수행하십시오.
  1. 보기 메뉴에서 도구 모음을 가리킨 다음 사용자 지정을 누릅니다.
  2. 도구 모음 대화 상자에서 고급 탭을 누릅니다. 범주 목록에서 도구를 선택합니다. 명령 목록에서 COM 추가 기능을 찾고 명령을 선택 항목의 메뉴나 명령 모음으로 끕니다. 도구 모음 대화 상자를 닫습니다.
  3. 추가한 COM 추가 기능 명령을 눌러 COM 추가 기능 대화 상자를 표시합니다. 대화 상자에는 시스템에 설치된 모든 COM 추가 기능이 표시되며 현재 로드된 COM 추가 기능이 선택됩니다.
COM 추가 기능에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
238228  (http://support.microsoft.com/kb/238228/ ) Visual Basic에서 Office 2000 COM 추가 기능을 작성하는 방법
230689  (http://support.microsoft.com/kb/230689/ ) SAMPLE: Visual C++로 작성된 Comaddin.exe의 Office 2000 COM 추가 기능
자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
Office 추가 기능
http://support.microsoft.com/ofd (http://support.microsoft.com/ofd) (영문)

자동화 추가 기능

Excel 2002와 Excel 2003에서는 COM 추가 기능 외에도 자동화 추가 기능을 지원합니다. 자동화 추가 기능의 함수를 Excel 워크시트의 수식에서 호출할 수 있다는 점에서 자동화 추가 기능은 COM 추가 기능 위에 구축됩니다. COM 추가 기능은 IDTExtensibility2 인터페이스를 지원하는 종속 프로세스 COM 서버가 되어야 하지만 자동화 추가 기능은 종속 프로세스나 독립 프로세스 COM 서버가 될 수 있으며 IDTExtensibility2의 구현은 선택 사항입니다.

Excel에서 자동화 추가 기능을 사용하려면 다음과 같이 하십시오.
  1. 도구 메뉴에서 추가 기능을 누릅니다.
  2. 추가 기능 대화 상자에서 자동화를 누릅니다. 등록된 COM 서버 목록에서 자동화 추가 기능을 선택하고 확인을 누릅니다.
  3. 추가 기능 대화 상자에 자동화 추가 기능이 나타납니다. 확인을 눌러 추가 기능 대화 상자를 닫습니다.
추가 기능 대화 상자에서 목록에 추가하거나, 목록에서 추가 기능을 선택하고 선택을 취소하면 Excel에서는 변경 사항을 레지스트리에 저장합니다. 먼저 Excel에서는 다음 레지스트리 설정을 사용하여 추가 기능 목록에서 자동화 추가 기능을 로드할 것인지 여부를 결정합니다.
 Excel 2002
키:		HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
문자열:		OPENx
예제 값:		/A "ServerName.ClassName"
					
 Excel 2003
키:		HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
문자열:		OPENx
예제 값:		/A "ServerName.ClassName"
					
문자열 값에 사용되는 /A 스위치는 Excel 2002/Excel 2003에 새로 도입되었으며 자동화 추가 기능을 로드하기 위해 특별히 사용됩니다. 모든 자동화 추가 기능은 요구가 있을 때 로드됩니다. 자동화 추가 기능의 로드 동작을 변경할 수 있는 설정은 없습니다.

추가 기능 대화 상자에 나열된 자동화 추가 기능의 선택을 취소하면 추가 기능의 ProgID와 같은 이름을 가진 하위 키가 다음 레지스트리 키에 만들어집니다.
Excel 2002
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager
					 
Excel 2003

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
					
이 레지스트리 설정을 사용하면 추가 기능 목록에 추가한 자동화 추가 기능을 로드하지 않도록 선택했을 때도 자동화 추가 기능이 추가 기능 목록에 유지됩니다.

자동화 추가 기능에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
285337  (http://support.microsoft.com/kb/285337/ ) Excel 워크시트 함수에 사용할 수 있는 Visual Basic 자동화 추가 기능을 만드는 방법
자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
Office 추가 기능
http://support.microsoft.com/ofd (http://support.microsoft.com/ofd) (영문)

IDTExtensibility2를 구현하는 자동화 추가 기능

앞에서 언급했듯이 자동화 추가 기능은 IDTExtensibility2를 구현할 수 있지만 Excel에서 워크시트의 추가 기능에 있는 함수를 호출하는 데 필요하지는 않습니다. 자동화 추가 기능이 Excel 인스턴스를 참조해야 하는 경우 IDTExtensibility2를 구현하고 OnConnectionApplication 매개 변수를 사용하여 Excel을 자동화할 수 있습니다.

IDTExtensibility2를 구현하는 자동화 추가 기능은 COM 추가 기능 대화 상자와 추가 기능 대화 상자를 통해 Excel 사용자 인터페이스에서 로드할 수 있습니다. 다음은 이 대화 상자 중 하나나 둘 모두 로드되었는지 여부를 기준으로 자동화 추가 기능의 동작을 설명합니다.
  • 추가 기능 대화 상자에만 로드됩니다.

    추가 기능은 필요할 때 로드됩니다. 추가 기능의 함수는 워크시트의 수식에서 호출할 수 있습니다.
  • COM 추가 기능 대화 상자에만 로드됩니다.

    추가 기능은 COM 추가 기능으로 로드되고 로드 동작은 레지스트리의 설정으로 결정됩니다. 추가 기능의 함수는 워크시트의 수식에서 호출할 수 없습니다.
  • COM 추가 기능 대화 상자와 추가 기능 대화 상자에서 모두 로드됩니다.

    별도의 추가 기능 인스턴스 두 개가 로드됩니다. 한 인스턴스가 COM 추가 기능으로 로드되고 다른 인스턴스는 자동화 추가 기능으로 로드됩니다. COM 추가 기능 인스턴스는 레지스트리에 표시된 로드 동작을 사용하며 자동화 추가 기능 인스턴스는 요구할 때 로드됩니다. 두 인스턴스는 서로 독립적으로 작동하며 전역 변수를 공유하지 않습니다.
자동화 추가 기능은 요구할 때 로드되기 때문에 Excel은 셀 편집 모드에 있는 동안 추가 기능을 로드하려고 시도할 수 있습니다. 따라서 IDTExtensibility2를 지원하는 자동화 추가 기능을 개발할 때는 추가 기능을 로드하는 동안 Excel의 상태를 변경하도록 시도하지 않게 각별히 주의해야 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
284876  (http://support.microsoft.com/kb/284876/ ) BUG: 자동화 추가 기능이 로드될 때 Excel에 오류가 발생한다
(c) Microsoft Corporation 2001, All Rights Reserved. 기고: Lori B. Turner, Microsoft Corporation.





Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx) 에 참여하시기 바랍니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
키워드: 
kbinfo kbautomation KB291392
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.