2009-07-16 6 views
0

안녕하세요. vs2008 + vsto를 사용하여 Excel (리본)에 추가 ... 을 작성하면 사용자가이 항목을 추가해야하므로 myaddin.dll과 같은 dll을 만들 수 있습니다 dll을 ... 그리고 사용하거나 더 나은 접근 방법을 제안 할 수 있습니까, 많이 고마워요!C# excel dll로 추가

답변

0

내가 아는 한 Excel 추가 기능은 xla/xlam 파일이어야합니다. xla에서 dll이라는 DLL을 얻을 수는 있지만 xla가 필요합니다.

0

COM 자동화 개체로 C#에서 Excel 추가 기능을 작성하여이 작업을 수행 할 수 있습니다. 그런 다음 Excel의 추가 기능 대화 상자로 이동하면 COM 개체를 선택하거나 Com. dll을 탐색 할 수 있습니다. Excel에서 호출 할 수있는 개체의 인스턴스를 만듭니다.

+0

정말 확실합니까? 늘어나는만큼 내가 엑셀에서 실행되는 코드가 상승 된 권한과 GAC의 필요성을 이해해야합니다. – Wilhelm

+0

나는 긍정적이다! 이 방법으로 구성 요소를 작성하고 배포했습니다. 필요한 몇 가지 레지스트리 키가 있지만 그게 ... – Sean

1

예, 가능합니다. 그러나 Excel에서 사용되는 dll은 GAC에 있어야하며 일부 레지스트리 키는 변경해야합니다 (기본적으로 dll을 찾는 위치는 Excel에 알려줍니다). 따라서 설치 프로그램을 사용하여 dll을 설치하는 것이 가장 좋습니다. 과정은 다소 복잡하며 가장 잘 묘사 된 것은 here이고 계속되는 사람은 here입니다. 어셈블리를 GACing

1

위의 의견을 수정하려면 ...

  1. 그러나 COM 자동화를위한 어셈블리를 필요가 등록, 필요하지 않습니다. 위에서 언급 한 바와 같이 이것은 EXCEL Com 추가 기능의 MSDN 문서 및 필요한 키를 배포하기위한 설치 프로젝트를 사용하면 가장 쉽게 수행 할 수 있습니다. 어셈블리 이름을 강하게 지정하고 GACing하면 어셈블리가 완전히 신뢰할 수 있다는 장점이 있습니다. 이는 CAS를 사용하는 것보다 예외 권한을 얻기가 더 쉬운 방법 일 수 있습니다. 그러나 실제로는 추가 기능을 외부에 판매하지 않는 한 이것이 쇼 스토퍼가 아닙니다.

  2. XLA/XLAM은 COM Addin (VB6, C++ 또는 .net)을 사용하는 대신 사용할 수 있습니다. XLA는 솔루션을 신속하게 개발하고 빌드하려는 경우 더 가벼운 옵션입니다.

관련 문제