연습: 사용자 지정 작업창에서 애플리케이션 자동화
이 연습에서는 PowerPoint를 자동화하는 사용자 지정 작업창을 만드는 방법을 보여 줍니다. 사용자 지정 작업창은 사용자가 사용자 지정 작업창에 있는 MonthCalendar 컨트롤을 클릭할 때 날짜를 슬라이드에 삽입합니다.
적용 대상: 이 항목의 정보는 Outlook의 VSTO 추가 기능 프로젝트에 적용됩니다. 자세한 내용은 Office 애플리케이션 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하세요.
이 연습에서는 특별히 PowerPoint를 사용하지만 위에 나열된 애플리케이션에도 연습에서 설명하는 개념을 적용할 수 있습니다.
이 연습에서는 다음 작업을 수행합니다.
사용자 지정 작업창의 사용자 인터페이스 디자인
사용자 지정 작업창에서 PowerPoint 자동화
PowerPoint에서 사용자 지정 작업창 표시
참고 항목
일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio IDE 개인 설정을 참조하세요.
필수 조건
이 연습을 완료하려면 다음과 같은 구성 요소가 필요합니다.
Microsoft Office 개발자 도구를 포함하는 Visual Studio 버전입니다. 자세한 내용은 Office 솔루션을 개발하기 위한 컴퓨터 구성을 참조하세요.
Microsoft PowerPoint 2010 또는 PowerPoint 2013
추가 기능 프로젝트 만들기
첫 번째 단계는 PowerPoint용 VSTO 추가 기능 프로젝트를 만드는 것입니다.
새 프로젝트를 만들려면
PowerPoint 추가 기능 프로젝트 템플릿을 사용하여 이름이 MyAddIn인 PowerPoint VSTO 추가 기능 프로젝트를 만듭니다. 자세한 내용은 방법: Visual Studio에서 Office 프로젝트 만들기를 참조하세요.
Visual Studio에서는 ThisAddIn.cs 또는 ThisAddIn.vb 코드 파일을 열고 MyAddIn 프로젝트를 솔루션 탐색기에 추가합니다.
사용자 지정 작업창의 사용자 인터페이스 디자인
사용자 지정 작업창을 위한 비주얼 디자이너는 없지만 원하는 레이아웃을 사용하여 사용자 정의 컨트롤을 디자인할 수 있습니다. 이 연습 뒷부분에서는 사용자 지정 작업창에 사용자 정의 컨트롤을 추가합니다.
사용자 지정 작업창의 사용자 인터페이스를 디자인하려면
프로젝트 메뉴에서 사용자 정의 컨트롤 추가를 클릭합니다.
새 항목 추가 대화 상자에서 사용자 정의 컨트롤의 이름을 MyUserControl로 변경하고 추가를 클릭합니다.
사용자 정의 컨트롤이 디자이너에서 열립니다.
도구 상자 의 공용 컨트롤탭에서 MonthCalendar 컨트롤을 사용자 정의 컨트롤로 끌어 놓습니다.
MonthCalendar 컨트롤이 사용자 정의 컨트롤의 디자인 화면보다 큰 경우 사용자 정의 컨트롤의 크기를 조정하여 MonthCalendar 컨트롤에 맞춥니다.
사용자 지정 작업창에서 PowerPoint 자동화
VSTO 추가 기능의 목적은 선택한 날짜를 활성 프레젠테이션의 첫 번째 슬라이드에 넣는 것입니다. 컨트롤의 DateChanged 이벤트를 사용하여 변경될 때마다 선택한 날짜를 추가합니다.
사용자 지정 작업창에서 PowerPoint를 자동화하려면
디자이너에서 MonthCalendar 컨트롤을 두 번 클릭합니다.
MyUserControl.cs 또는 MyUserControl.vb 파일이 열리고 DateChanged 이벤트에 대한 이벤트 처리기가 만들어집니다.
파일 맨 위에 다음 코드를 추가합니다. 이 코드에서는 Microsoft.Office.Core 및 PowerPoint 네임스페이스에 대한 별칭을 만듭니다.
MyUserControl
클래스에 다음 코드를 추가합니다. 이 코드에서는 Shape 개체를MyUserControl
의 멤버로 선언합니다. 다음 단계에서는 이 Shape를 사용하여 활성 프레젠테이션의 슬라이드에 텍스트 상자를 추가합니다.monthCalendar1_DateChanged
이벤트 처리기를 다음 코드로 바꿉니다. 이 코드에서는 활성 프레젠테이션의 첫 번째 슬라이드에 텍스트 상자를 추가한 다음 현재 선택한 날짜를 텍스트 상자에 추가합니다. 이 코드는Globals.ThisAddIn
개체를 사용하여 PowerPoint의 개체 모델에 액세스합니다.private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) { try { if (textbox != null) { textbox.Delete(); } PowerPoint.Slide slide = Globals.ThisAddIn.Application.ActivePresentation.Slides[1]; textbox = slide.Shapes.AddTextbox( Office.MsoTextOrientation.msoTextOrientationHorizontal, 50, 100, 600, 50); textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString(); textbox.TextFrame.TextRange.Font.Size = 48; textbox.TextFrame.TextRange.Font.Color.RGB = Color.DarkViolet.ToArgb(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
솔루션 탐색기에서 MyAddIn 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 빌드를 클릭합니다. 프로젝트가 오류 없이 빌드되는지 확인합니다.
사용자 지정 작업창 표시
VSTO 추가 기능이 시작할 때 사용자 지정 작업창을 표시하려면 VSTO 추가 기능의 Startup 이벤트 처리기에 있는 작업창에 사용자 정의 컨트롤을 추가합니다.
사용자 지정 작업창을 표시하려면
솔루션 탐색기에서 PowerPoint를 확장합니다.
ThisAddIn.cs 또는 ThisAddIn.vb 를 마우스 오른쪽 단추로 클릭하고 코드 보기를 클릭합니다.
ThisAddIn
클래스에 다음 코드를 추가합니다. 이 코드는MyUserControl
및 CustomTaskPane 의 인스턴스를ThisAddIn
클래스의 멤버로 선언합니다.ThisAddIn_Startup
이벤트 처리기를 다음 코드로 바꿉니다. 이 코드는 CustomTaskPane 컬렉션에MyUserControl
개체를 추가하여 새CustomTaskPanes
을 만듭니다. 코드에서 작업창도 표시합니다.
추가 기능 테스트
프로젝트를 실행하면 PowerPoint가 열리고 VSTO 추가 기능에서 사용자 지정 작업창을 표시합니다. MonthCalendar 컨트롤을 클릭하여 코드를 테스트합니다.
VSTO 추가 기능을 테스트하려면
F5 키를 눌러 프로젝트를 실행합니다.
사용자 지정 작업창이 표시되는지 확인합니다.
작업창의 MonthCalendar 컨트롤에서 날짜를 클릭합니다.
날짜가 활성 프레젠테이션의 첫 번째 슬라이드에 삽입됩니다.
다음 단계
다음 항목에서는 사용자 지정 작업창을 만드는 방법에 대해 더 자세히 설명합니다.
다른 애플리케이션용 VSTO 추가 기능의 사용자 지정 작업창을 만듭니다. 사용자 지정 작업창을 지원하는 애플리케이션에 대한 자세한 내용은 사용자 지정 작업창을 참조하세요.
사용자 지정 작업창을 숨기거나 표시하는 데 사용할 수 있는 리본 단추를 만듭니다. 자세한 내용은 연습: 사용자 지정 작업창과 리본 단추 동기화를 참조하세요.
Outlook에서 열린 모든 메일 메시지에 대해 사용자 지정 작업창을 만듭니다. 자세한 내용은 연습: Outlook에서 이메일 메시지가 포함된 사용자 지정 작업창 표시를 참조하세요.