증상
셀 편집 모드 중에 Microsoft Excel에서 Automation 추가 기능을 로드하면 Excel이 실패합니다. 이 문제는 주문이 Excel에 로드된 Automation 추가 기능에서만 발생합니다.
원인
이 문제는 추가 기능에 폼 또는 대화 상자가 표시되거나 추가 기능이 Excel의 상태를 변경하려고 하는 Automation 요청을 하는 경우 추가 기능이 로드되는 경우에 발생할 수 있습니다. 다음 목록에는 셀 편집 모드 중에 Automation 추가 기능이 로드되는 동안 호출될 때 Excel이 실패할 수 있는 Automation 요청 샘플이 포함되어 있습니다.
-
프로그래밍 방식으로 현재 선택 영역을 변경합니다. 예는 다음과 같습니다.
Application.ActiveSheet.Range("A1").Select -
Windows 컬렉션에서 항목의 속성 또는 메서드를 호출합니다. 예는 다음과 같습니다.
Application.ActiveWindow.Zoom = 200
-
계산 모드와 같은 Excel 설정을 변경합니다. 예는 다음과 같습니다.
Application.CalculationMode = xlManual
이러한 항목은 모두 Excel 환경, 통합 문서 또는 워크시트를 변경하려는 코드 시도의 예입니다. 편집 모드에서는 이러한 유형의 작업이 허용되지 않습니다.
해결 방법
추가 기능이 로드되는 동안 위에서 언급한 작업을 시도하지 마세요. 로드 중에 호출되는 추가 기능 메서드에는 Initialize 메서드가 포함되며, Automation 추가 기능이 IDTExtensibility2 인터페이스를 구현하는 경우 OnConnection 및 OnStartupComplete 메서드도 포함됩니다.
상태
Microsoft는 이 문서의 시작 부분에 나열된 Microsoft 제품의 버그임을 확인했습니다.
추가 정보
문제를 재현하는 단계
-
Visual Basic에서 새 ActiveX DLL 프로젝트를 시작합니다.
-
프로젝트 메뉴에서 Project1 속성을 클릭합니다. 프로젝트 이름을 TestAddIn으로 변경한 다음 확인을 클릭합니다.
-
Class1의 코드 모듈에 다음 코드를 추가합니다.
Private Sub Class_Initialize() MsgBox "Class_Initialize"End Sub
-
TestAddIn.dll 빌드합니다.
-
Excel에서 새 통합 문서를 시작합니다.
-
Microsoft Office Excel 2003 또는 Microsoft Excel 2002에서 다음 단계를 수행합니다.
-
도구 메뉴에서 추가 기능을 가리킨 다음 자동화를 클릭합니다.
-
목록에서 TestAddIn.Class1을 클릭한 다음 확인을 클릭합니다.
-
추가 기능 대화 상자 에서확인을 클릭합니다.
Microsoft Office Excel 2007에서 다음 단계를 수행합니다.
-
Microsoft Office 단추를 클릭한 다음Excel 옵션을 클릭합니다.
-
추가 기능 탭 을 클릭합니다.
-
관리 목록에서 Excel 추가 기능을 클릭한 다음 이동을 클릭합니다.
-
추가 기능 대화 상자에서자동화를 클릭합니다.
-
목록에서 TestAddin.Class1을 클릭한 다음 확인을 클릭합니다.
-
확인을 클릭합니다.
-
-
모든 셀에 =a를 입력합니다. "Class_Initialize" 텍스트가 있는 메시지 상자가 나타납니다.
-
확인 을 클릭하여 메시지 상자를 해제합니다. 몇 초 후에 Excel이 실패합니다.
참고 자료
자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인합니다.
291392 INFO: Excel COM 추가 기능 및 Automation 추가 기능