Excel Ole- .net com addin은 응용 프로그램에 Excel이 포함되면 다르게 동작합니다.
문제
com shim dll을 사용하여 Excel에로드하는 .NET (c#) addin이 있습니다. Addin은 Excel이 정상적으로 실행될 때 아무런 문제없이 잘 작동합니다. Addin은 다른 명령을 실행하는 데 사용되는 Excel에 자체 사용자 정의 도구 모음을 표시합니다.
다른 응용 프로그램 (예 : dsoframer 등)에 Excel을 포함 시키면 Addin이 이상하게 행동하기 시작합니다. 도구 모음에서 버튼을 비활성화하면 가시 속성을 설정 한 후에는 다시 활성화되지 않는 것 같습니다. 또한 Application :: 선택 객체가 NULL이므로 Excel이 정상적으로 실행될 때 결코 발생하지 않기 때문에 "Object Reference Set Set"오류가 발생합니다. Application :: getAddins () 메소드가 호출되면 권한 오류도 발생합니다.
나는 여기서 무슨 일이 일어나고 있는지 잘 모르고 Excel이 다른 응용 프로그램 안에 포함될 때 Excel com addins의 동작을 설명하는 기사를 찾을 수 없었습니다.
해결책 2
이 문제에 대해 Microsoft Professional에 연락하여 Microsoft가 사무실 응용 프로그램을 포함시킬 수 있음을 알게되었습니다. 나는 응용 프로그램에 Excel 임베딩을 중단하거나 리본 UI가있는 Excel 2007 만 사용하는 것이 좋습니다. MS에 따르면 리본 UI에는 이러한 문제가 없습니다.
CommandBars의 문제점은 협상이 onconnection 동안 만 발생하며 나중에 변경할 수 없다는 것입니다.