이 연습에서는 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멤버로 선언합니다. 다음 단계에서는 이 셰이프를 사용하여 현재 프레젠테이션의 슬라이드에 텍스트 상자를 추가합니다.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이벤트 처리기를 다음 코드로 바꿉다. 이 코드는MyUserControl개체를CustomTaskPanes컬렉션에 추가하여 새 CustomTaskPane를 만듭니다. 코드에는 작업창도 표시됩니다.
추가 기능 테스트
프로젝트를 실행하면 PowerPoint가 열리고 VSTO 추가 기능에 사용자 지정 작업창이 표시됩니다. 컨트롤을 MonthCalendar 클릭하여 코드를 테스트합니다.
VSTO 추가 기능을 테스트하려면
F5 키를 눌러 프로젝트를 실행합니다.
사용자 지정 작업창이 표시되는지 확인합니다.
작업창의 MonthCalendar 컨트롤에서 날짜를 클릭합니다.
현재 프레젠테이션의 첫 번째 슬라이드에 날짜가 삽입됩니다.
다음 단계
다음 항목에서 사용자 지정 작업창을 만드는 방법에 대해 자세히 알아볼 수 있습니다.
다른 애플리케이션에 대한 VSTO 추가 기능에서 사용자 지정 작업창을 만듭니다. 사용자 지정 작업창을 지원하는 애플리케이션에 대한 자세한 내용은 사용자 지정 작업창을 참조하세요.
사용자 지정 작업창을 숨기거나 표시하는 데 사용할 수 있는 리본 단추를 만듭니다. 자세한 내용은 연습: 리본 단추를 사용하여 사용자 지정 작업창 동기화를 참조하세요.
Outlook에서 열리는 모든 전자 메일 메시지에 대한 사용자 지정 작업창을 만듭니다. 자세한 내용은 연습: Outlook에서 전자 메일 메시지가 포함된 사용자 지정 작업창 표시를 참조하세요.