2009-03-30 5 views
1

Outlook, Outlook 및 Excel 용 추가 기능을 개발하고 싶습니다. 현재로서는 2 가지 유형의 솔루션을 알고 있습니다. 하나는 Shared Add-in (COM 기반)으로, 다른 하나는 VSTO 기반 Add-in을 빌드하는 것입니다. 내가 더 익숙한 것은 어떤 것이 더 나은 선택일까요? (또는 세 번째 방법이 있다면 알려주십시오.) Office 2003과 2007 모두를 대상으로합니다. 그리고 C#에서이 추가 기능을 개발하는 것을 선호합니다.Office (특정 Outlook) addins

+0

답변 해 주셔서 감사합니다. VSTO에 더 많은 설치 요구 사항이 있으며 버전 중립적이지 않은 것으로 밝혀지면서 Vb.Net 및 COM 기반 Addin에 대한 것 같습니다. –

답변

2

C#으로 개발할 예정인 경우 VSTO를 사용하는 것이 좋습니다. 이것은 훨씬 간단한 추가 개발 프레임 워크를 가지고 있으며 C#에서 완벽하게 작동합니다.

특히 C#을 사용하여 COM 경로를 진행하는 것은이 시점에서 불필요한 추가 고통을 추가하는 것입니다.

+0

VSTO가 정말 좋습니다. 그러나 VSTO 전동 공구를 잊지 마세요 ;-) http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&displaylang=en – Gregor

3

직접 추가 기능 개발을 시작하기 전에 질문에 대한 대답은 아니지만 고려해야 할 가치가 있습니다. Reed가 이미 말했듯이 VB.Net을 사용하여 Office 추가 기능을 개발할 때 C#을 사용하는 것보다 훨씬 쉽습니다.

Office 개체 모델을 호출하면 일반적으로 몇 가지 선택적 매개 변수가 생략됩니다. 그러나 C#에서는 C#에 선택적 매개 변수가 없으므로 선택적 매개 변수를 모두 지정해야합니다. 충분하지 않은 경우 COM 추가 기능을 사용하려면 간단한 bool 또는 int를 전달하는 대신 참조 유형을 먼저 변환해야하는 등의 방법으로 직접 boxing을 처리해야합니다. 이 모든 것이 코드를 아주 쉽게 읽을 수있게합니다.

예. 읽고 쓰는 것이 훨씬 쉬울 것 VB.Net에서 동일한 반면

object objTrue = true; 
object objFalse = false; 
object missing = Type.Missing; 
object objInputFile = strInputFile; 
Document document = WordApplication.Documents.Open(ref objInputFile, 
    ref objFalse, ref objTrue, ref objFalse, ref missing, ref missing, 
    ref missing, ref missing, ref missing, ref missing, ref missing, 
    ref objFalse, ref missing, ref missing, ref objTrue, ref missing); 

:

Document document = WordApplication.Documents.Open(strInputFile) 

(추가 정보 : 코드 워드는 C#으로 그렇게 보일 것이다에서 문서를 엽니 다 함께 C# 4.0 dynamic을 사용하면 훨씬 간단 해집니다.

+0

와우, 정말 자극적입니다! 알아 둘만한! :-) –