다음을 통해 공유


연습: Outlook용 첫 응용 프로그램 수준 추가 기능 만들기

이 연습에서는 Microsoft Office Outlook용 응용 프로그램 수준 추가 기능을 만드는 방법을 보여 줍니다. 이러한 종류의 솔루션에서 만드는 기능은 열려 있는 Outlook 항목에 관계없이 응용 프로그램 자체에서 사용 가능합니다. 자세한 내용은 Office 솔루션 개발 개요를 참조하십시오.

적용 대상: 이 항목의 정보는 Outlook 2007 및 Outlook 2010의 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

이 연습에서는 다음 작업을 수행합니다.

  • Outlook용 Outlook 추가 기능 프로젝트 만들기

  • Outlook의 개체 모델을 사용하여 새 메일 메시지의 제목 및 본문에 텍스트를 추가하는 코드 작성

  • 프로젝트 빌드, 실행 및 테스트

  • 추가 기능이 더 이상 개발 컴퓨터에서 자동으로 실행되지 않도록 완성된 프로젝트 정리

참고

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

사전 요구 사항

이 연습을 완료하려면 다음 구성 요소가 필요합니다.

-

Microsoft Office 개발자 도구를 포함하는 Visual Studio 2010 버전입니다. 자세한 내용은 [Office 솔루션을 개발할 수 있도록 컴퓨터 구성](bb398242\(v=vs.100\).md)을 참조하십시오.
  • Microsoft Office Outlook 2007 또는 Outlook 2010

프로젝트 만들기

Visual Studio에서 새 Outlook 프로젝트를 만들려면

  1. Visual Studio를 시작합니다.

  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

  3. 템플릿 창에서 Visual C# 또는 Visual Basic을 확장한 다음 Office를 확장합니다.

  4. 확장된 Office 노드에서 2007 노드(Outlook 2007이 설치된 경우) 또는 2010 노드(Outlook 2010가 설치된 경우)를 선택합니다.

  5. 프로젝트 템플릿 목록에서 Outlook 2007 추가 기능 또는 Outlook 2010 추가 기능을 선택합니다.

  6. 이름 상자에 FirstOutlookAddIn을 입력합니다.

  7. 확인을 클릭합니다.

    Visual Studio에서 FirstOutlookAddIn 프로젝트가 만들어지고 편집기에 ThisAddIn 코드 파일이 열립니다.

각 새 메일 메시지에 텍스트를 추가하는 코드 작성

다음에는 ThisAddIn 코드 파일에 코드를 추가합니다. 새 코드에서는 Outlook의 개체 모델을 사용하여 각 새 메일 메시지에 텍스트를 추가합니다. 기본적으로 ThisAddIn 코드 파일에는 다음 코드가 생성되어 있습니다.

  • ThisAddIn 클래스의 부분 정의. 이 클래스는 코드의 진입점을 제공하며 Outlook의 개체 모델에 액세스할 수 있게 해 줍니다. 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍을 참조하십시오. ThisAddIn 클래스의 나머지 부분은 사용자가 수정할 수 없는 숨겨진 코드 파일에 정의되어 있습니다.

  • ThisAddIn_Startup 및 ThisAddIn_Shutdown 이벤트 처리기. 이러한 이벤트 처리기는 Outlook에서 추가 기능이 로드 및 언로드될 때 호출됩니다. 이러한 이벤트 처리기를 사용하여 추가 기능이 로드될 때 추가 기능을 초기화하고 추가 기능이 언로드될 때 추가 기능에서 사용한 리소스를 정리합니다. 자세한 내용은 Office 프로젝트의 이벤트를 참조하십시오.

각 새 메일 메시지의 제목 및 본문에 텍스트를 추가하려면

  1. ThisAddIn 코드 파일에서 ThisAddIn 클래스에 inspectors라는 필드를 선언합니다. inspectors 필드에서는 현재 Outlook 인스턴스의 검사기 창 컬렉션에 대한 참조가 유지됩니다. 이 참조는 NewInspector 이벤트에 대한 이벤트 처리기가 들어 있는 메모리를 가비지 수집기에서 해제하지 않도록 합니다.

    Private WithEvents inspectors As Outlook.Inspectors
    
    Outlook.Inspectors inspectors;
    
  2. ThisAddIn_Startup 메서드를 다음 코드로 바꿉니다. 이 코드는 NewInspector 이벤트에 이벤트 처리기를 연결합니다.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        inspectors = Me.Application.Inspectors
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
    }
    
  3. ThisAddIn 코드 파일에서 ThisAddIn 클래스에 다음 코드를 추가합니다. 이 코드에서는 NewInspector 이벤트에 대한 이벤트 처리기를 정의합니다.

    사용자가 새 메일 메시지를 만들면 이 이벤트 처리기가 메시지의 제목 줄과 본문에 텍스트를 추가합니다.

    Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector
        Dim mailItem As Outlook.MailItem = CType(Inspector.CurrentItem, Outlook.MailItem)
        If Not (mailItem Is Nothing) Then
            If mailItem.EntryID Is Nothing Then
                mailItem.Subject = "This text was added by using code"
                mailItem.Body = "This text was added by using code"
            End If
        End If
    End Sub
    
    void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = (Outlook.MailItem)Inspector.CurrentItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                mailItem.Subject = "This text was added by using code";
                mailItem.Body = "This text was added by using code";
            }
    
        }
    }
    

각 새 메일 메시지를 수정하기 위해 앞의 코드 예제에서는 다음 개체를 사용합니다.

  • ThisAddIn 클래스의 Application 필드. Application 필드에서는 Outlook의 현재 인스턴스를 나타내는 Application 개체를 반환합니다.

  • NewInspector 이벤트 처리기의 Inspector 매개 변수. Inspector 매개 변수는 새 메일 메시지의 검사기 창을 나타내는 Inspector 개체입니다. 자세한 내용은 Outlook 솔루션을 참조하십시오.

프로젝트 테스트

프로젝트를 빌드하고 실행할 때는 새 메일 메시지의 제목 줄과 본문에 텍스트가 나타나는지 확인합니다.

프로젝트를 테스트하려면

  1. F5 키를 눌러 프로젝트를 빌드하고 실행합니다.

    프로젝트를 빌드하면 코드가 프로젝트의 빌드 출력 폴더에 포함되는 어셈블리로 컴파일됩니다. 또한 Outlook에서 추가 기능을 검색하고 로드할 수 있도록 하는 일련의 레지스트리 항목이 만들어지고, 추가 기능을 실행할 수 있도록 하는 보안 설정이 개발 컴퓨터에 구성됩니다. 자세한 내용은 Office 솔루션 빌드 프로세스 개요를 참조하십시오.

  2. Outlook에서 새 메일 메시지를 만듭니다.

  3. 다음 텍스트가 메시지의 제목 줄과 본문 모두에 추가되는지 확인합니다.

    This text was added by using code.

  4. Outlook을 닫습니다.

프로젝트 정리

프로젝트 개발을 마치면 개발 컴퓨터에서 추가 기능 어셈블리, 레지스트리 항목 및 보안 설정을 제거해야 합니다. 그러지 않으면 개발 컴퓨터에서 Outlook을 열 때마다 해당 추가 기능이 계속 실행됩니다.

프로젝트를 정리하려면

  • Visual Studio의 빌드 메뉴에서 솔루션 정리를 클릭합니다.

다음 단계

기본적인 Outlook용 응용 프로그램 수준 추가 기능을 만들어 보았으므로 이제 다음 항목에서 추가 기능을 개발하는 방법을 보다 자세히 배울 수 있습니다.

  • Outlook용 추가 기능을 사용하여 수행할 수 있는 일반적인 프로그래밍 작업. 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍을 참조하십시오.

  • Outlook의 개체 모델 사용. 자세한 내용은 Outlook 솔루션을 참조하십시오.

  • 리본 메뉴에 사용자 지정 탭을 추가하거나 사용자 지정 작업 창을 만드는 등의 방법으로 Outlook의 UI 사용자 지정. 자세한 내용은 Office UI 사용자 지정를 참조하십시오.

  • Outlook용 응용 프로그램 수준 추가 기능 빌드 및 디버깅. 자세한 내용은 Office 솔루션 빌드 및 디버깅을 참조하십시오.

  • Outlook용 응용 프로그램 수준 추가 기능 배포. 자세한 내용은 Office 솔루션 배포를 참조하십시오.

참고 항목

기타 리소스

응용 프로그램 수준 추가 기능 프로그래밍

Outlook 솔루션

Office UI 사용자 지정

Office 솔루션 빌드 및 디버깅

Office 솔루션 배포

Office 프로젝트 템플릿 개요