연습: 사용자 지정 작업 창과 리본 단추 동기화
이 연습에서는 사용자가 리본 메뉴의 설정/해제 단추를 클릭하여 숨기거나 표시할 수 있는 사용자 지정 작업 창을 만드는 방법을 보여 줍니다.Microsoft Office 응용 프로그램에서는 기본적으로 사용자 지정 작업 창을 표시하거나 숨길 수 있는 방법이 없으므로 사용자가 작업 창을 표시하거나 숨길 수 있도록 하려면 단추와 같이 클릭 가능한 UI(사용자 인터페이스) 요소를 만들어야 합니다.
적용 대상: 이 항목의 정보는 Outlook 2013 및 Outlook 2010의 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
이 연습에서는 Excel만 사용하지만 연습에서 보여 주는 기본 개념은 위에 나열된 모든 응용 프로그램에 적용됩니다.
이 연습에서는 다음 작업을 수행합니다.
사용자 지정 작업 창의 UI 디자인
리본 메뉴에 설정/해제 단추 추가
설정/해제 단추를 사용자 지정 작업 창과 동기화
[!참고]
일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다.설치한 Visual Studio 버전과 사용하는 설정에 따라 이러한 요소가 결정됩니다.자세한 내용은 Visual Studio 설정을 참조하십시오.
사전 요구 사항
이 연습을 완료하려면 다음 구성 요소가 필요합니다.
-
Microsoft Office 개발자 도구를 포함하는 Visual Studio 2012 버전입니다. 자세한 내용은 [Office 솔루션을 개발할 수 있도록 컴퓨터 구성](bb398242\(v=vs.110\).md)을 참조하십시오.
- Microsoft Excel 2010 또는 Microsoft Excel 2013.
추가 기능 프로젝트 만들기
이 단계에서는 Excel용 추가 기능 프로젝트를 만듭니다.
새 프로젝트를 만들려면
Excel 추가 기능 프로젝트 템플릿을 사용하여 SynchronizeTaskPaneAndRibbon이라는 Excel 추가 기능 프로젝트를 만듭니다.자세한 내용은 방법: Visual Studio에서 Office 프로젝트 만들기을 참조하십시오.
Visual Studio에서 ThisAddIn.cs 또는 ThisAddIn.vb 코드 파일이 열리고 솔루션 탐색기에 SynchronizeTaskPaneAndRibbon 프로젝트가 추가됩니다.
리본 메뉴에 설정/해제 단추 추가
Office 응용 프로그램의 디자인 지침 중 하나는 사용자가 항상 Office 응용 프로그램 UI를 제어할 수 있어야 한다는 것입니다.사용자가 사용자 지정 작업 창을 제어할 수 있도록 하려면 작업 창을 표시하거나 숨기는 리본 메뉴 설정/해제 단추를 추가합니다.설정/해제 단추를 만들려면 프로젝트에 리본(비주얼 디자이너) 항목을 추가합니다.이 디자이너는 컨트롤을 추가 및 배치하고, 컨트롤 속성을 설정하고, 컨트롤 이벤트를 처리하는 데 유용합니다.자세한 내용은 리본 디자이너을 참조하십시오.
리본 메뉴에 설정/해제 단추를 추가하려면
프로젝트 메뉴에서 새 항목 추가를 클릭합니다.
새 항목 추가 대화 상자에서 **리본(비주얼 디자이너)**을 선택합니다.
새 리본 메뉴의 이름을 ManageTaskPaneRibbon으로 바꾸고 추가를 클릭합니다.
ManageTaskPaneRibbon.cs 또는 ManageTaskPaneRibbon.vb 파일이 리본 디자이너에서 열리고 기본 탭 및 그룹이 표시됩니다.
리본 디자이너에서 group1을 클릭합니다.
속성 창에서 Label 속성을 "Task Pane Manager"로 설정합니다.
도구 상자의 Office 리본 컨트롤 탭에서 ToggleButton을 Task Pane Manager 그룹으로 끌어 옵니다.
toggleButton1을 클릭합니다.
속성 창에서 Label 속성을 "Show Task Pane"으로 설정합니다.
사용자 지정 작업 창의 사용자 인터페이스 디자인
사용자 지정 작업 창을 만드는 비주얼 디자이너는 없지만 사용자 정의 컨트롤을 원하는 레이아웃으로 디자인할 수 있습니다.이 연습의 뒷부분에서 사용자 지정 작업 창에 사용자 정의 컨트롤을 추가합니다.
사용자 지정 작업 창의 사용자 인터페이스를 디자인하려면
프로젝트 메뉴에서 사용자 정의 컨트롤 추가를 클릭합니다.
새 항목 추가 대화 상자에서 사용자 정의 컨트롤의 이름을 TaskPaneControl로 바꾸고 추가를 클릭합니다.
사용자 정의 컨트롤이 디자이너에서 열립니다.
도구 상자의 공용 컨트롤 탭에서 TextBox 컨트롤을 사용자 정의 컨트롤로 끌어 옵니다.
사용자 지정 작업 창 만들기
추가 기능이 시작될 때 사용자 지정 작업 창을 만들려면 추가 기능의 Startup 이벤트 처리기에서 사용자 정의 컨트롤을 작업 창에 추가합니다.기본적으로 사용자 지정 작업 창은 표시되지 않습니다.이 연습의 뒷부분에서는 리본 메뉴에 추가한 설정/해제 단추를 사용자가 클릭할 때 작업 창을 표시하거나 숨기는 코드를 추가합니다.
사용자 지정 작업 창을 만들려면
솔루션 탐색기에서 Excel을 확장합니다.
ThisAddIn.cs 또는 ThisAddIn.vb를 마우스 오른쪽 단추로 클릭하고 코드 보기를 클릭합니다.
ThisAddIn 클래스에 다음 코드를 추가합니다.이 코드에서는 TaskPaneControl의 인스턴스를 ThisAddIn의 멤버로 선언합니다.
Private taskPaneControl1 As TaskPaneControl Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
private TaskPaneControl taskPaneControl1; private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
ThisAddIn_Startup 이벤트 처리기를 다음 코드로 바꿉니다.이 코드는 CustomTaskPanes 필드에 TaskPaneControl 개체를 추가하지만 사용자 지정 작업 창을 표시하지는 않습니다. 기본적으로 CustomTaskPane 클래스의 Visible 속성은 false입니다.또한 Visual C# 코드는 VisibleChanged 이벤트에 이벤트 처리기를 연결합니다.
Private Sub ThisAddIn_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup taskPaneControl1 = New TaskPaneControl() taskPaneValue = Me.CustomTaskPanes.Add( _ taskPaneControl1, "MyCustomTaskPane") End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { taskPaneControl1 = new TaskPaneControl(); taskPaneValue = this.CustomTaskPanes.Add( taskPaneControl1, "MyCustomTaskPane"); taskPaneValue.VisibleChanged += new EventHandler(taskPaneValue_VisibleChanged); }
ThisAddIn 클래스에 다음 메서드를 추가합니다.이 메서드에서는 VisibleChanged 이벤트를 처리합니다.사용자가 닫기 단추(X)를 클릭하여 작업 창을 닫으면 이 메서드는 리본 메뉴에 있는 설정/해제 단추의 상태를 업데이트합니다.
Private Sub taskPaneValue_VisibleChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles taskPaneValue.VisibleChanged Globals.Ribbons.ManageTaskPaneRibbon.ToggleButton1.Checked = taskPaneValue.Visible End Sub
private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e) { Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = taskPaneValue.Visible; }
ThisAddIn 클래스에 다음 속성을 추가합니다.이 속성은 전용 myCustomTaskPane1 개체를 다른 클래스에 노출합니다.이 연습의 뒷부분에서는 이 속성을 사용하는 MyRibbon 클래스에 코드를 추가합니다.
Public ReadOnly Property TaskPane() As Microsoft.Office.Tools.CustomTaskPane Get Return taskPaneValue End Get End Property
public Microsoft.Office.Tools.CustomTaskPane TaskPane { get { return taskPaneValue; } }
설정/해제 단추를 사용하여 사용자 지정 작업 창 숨기기 및 표시
마지막 단계에서는 사용자가 리본 메뉴의 설정/해제 단추를 클릭할 때 사용자 지정 작업 창을 표시하거나 숨기는 코드를 추가합니다.
설정/해제 단추를 사용하여 사용자 지정 작업 창을 표시하거나 숨기려면
리본 디자이너에서 Show Task Pane 설정/해제 단추를 두 번 클릭합니다.
Visual Studio에서 이 설정/해제 단추의 Click 이벤트를 처리하는 toggleButton1_Click이라는 이벤트 처리기가 자동으로 생성됩니다.또한 MyRibbon.cs 또는 MyRibbon.vb 파일이 코드 편집기에서 열립니다.
toggleButton1_Click 이벤트 처리기를 다음 코드로 바꿉니다.사용자가 설정/해제 단추를 클릭하면 이 코드는 설정/해제 단추가 현재 눌러졌는지 여부에 따라 사용자 지정 작업 창을 표시하거나 숨깁니다.
Private Sub ToggleButton1_Click(ByVal sender As System.Object, _ ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click Globals.ThisAddIn.TaskPane.Visible = _ TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked End Sub
private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked; }
추가 기능 테스트
프로젝트를 실행하면 사용자 지정 작업 창이 표시되지 않고 Excel이 열립니다.리본 메뉴의 설정/해제 단추를 클릭하여 코드를 테스트합니다.
추가 기능을 테스트하려면
F5 키를 눌러 프로젝트를 실행합니다.
Excel이 열리고 리본 메뉴에 추가 기능 탭이 나타나는지 확인합니다.
리본 메뉴에서 추가 기능 탭을 클릭합니다.
Task Pane Manager 그룹에서 Show Task Pane 설정/해제 단추를 클릭합니다.
설정/해제 단추를 클릭할 때 작업 창이 교대로 표시되고 숨겨지는지 확인합니다.
작업 창이 표시되면 작업 창의 모퉁이에 있는 닫기 단추(X)를 클릭합니다.
설정/해제 단추가 누르지 않은 상태로 표시되는지 확인합니다.
다음 단계
다음 항목에서는 사용자 지정 작업 창을 만드는 방법에 대해 더 자세히 설명합니다.
다른 응용 프로그램용 추가 기능의 사용자 지정 작업 창을 만듭니다.사용자 지정 작업 창을 지원하는 응용 프로그램에 대한 자세한 내용은 사용자 지정 작업 창를 참조하십시오.
사용자 지정 작업 창을 사용하여 응용 프로그램을 자동화합니다.자세한 내용은 연습: 사용자 지정 작업 창을 사용하여 응용 프로그램 자동화을 참조하십시오.
Outlook에 열려 있는 모든 전자 메일 메시지에 대한 사용자 지정 작업 창을 만듭니다.자세한 내용은 연습: Outlook에서 전자 메일 메시지와 함께 사용자 지정 작업 창 표시을 참조하십시오.
참고 항목
작업
연습: 사용자 지정 작업 창을 사용하여 응용 프로그램 자동화
연습: Outlook에서 전자 메일 메시지와 함께 사용자 지정 작업 창 표시