다음을 통해 공유


사용자 지정 작업 창 개요

작업 창은 일반적으로 Microsoft Office 응용 프로그램에서 다른 창의 한 쪽에 도킹되는 사용자 인터페이스 패널입니다. 사용자 지정 작업 창을 통해 작업 창을 직접 만들 수 있고 사용자에게 솔루션의 기능에 액세스하는 친숙한 인터페이스를 제공할 수 있습니다. 예를 들어 인터페이스에 문서를 수정하거나 데이터 소스의 데이터를 표시하는 코드를 실행하는 컨트롤을 포함할 수 있습니다.

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

참고

사용자 지정 작업 창(Task Pane)은 작업 창(Actions Pane)과 다릅니다. 작업 창(Actions Pane)은 Microsoft Office Word 및 Microsoft Office Excel용 문서 수준 사용자 지정의 일부입니다. 자세한 내용은 작업 창 개요를 참조하십시오.

사용자 지정 작업 창의 장점

사용자 지정 작업 창을 사용하면 직접 개발한 기능을 친숙한 사용자 인터페이스에 통합할 수 있습니다. Visual Studio 도구를 사용하여 사용자 지정 작업 창을 빠르게 만들 수 있습니다.

친숙한 사용자 인터페이스

Microsoft Office System의 응용 프로그램 사용자는 Word의 스타일 및 서식 작업 창 등의 작업 창에 이미 익숙합니다. 사용자 지정 작업 창은 Microsoft Office System의 다른 작업 창과 같은 방식으로 작동합니다. 사용자는 사용자 지정 작업 창을 응용 프로그램 창에 여러 방향으로 도킹하거나 창에서 임의의 위치로 끌어 놓을 수 있습니다. 여러 사용자 지정 작업 창을 동시에 표시하는 추가 기능을 만들 수 있으며 사용자는 각 작업 창을 개별적으로 제어할 수 있습니다.

Windows Forms 지원

Visual Studio의 Office 개발 도구를 사용하여 만드는 사용자 지정 작업 창의 사용자 인터페이스는 Windows Forms 컨트롤을 기반으로 합니다. 익숙한 Windows Forms 디자이너를 사용하여 사용자 지정 작업 창의 사용자 인터페이스를 디자인할 수 있습니다. Windows Forms의 데이터 바인딩 지원 기능을 사용하여 작업 창의 컨트롤에 데이터 소스를 바인딩할 수도 있습니다.

사용자 지정 작업 창 만들기

기본적인 사용자 지정 작업 창을 만드는 과정은 두 단계로 진행됩니다.

  1. Windows Forms 컨트롤을 UserControl 개체에 추가하여 사용자 지정 작업 창의 사용자 인터페이스를 만듭니다.

  2. 추가 기능의 CustomTaskPaneCollection 개체에 사용자 정의 컨트롤을 전달하여 사용자 지정 작업 창을 인스턴스화합니다. 이 컬렉션은 작업 창의 모양을 수정하거나 사용자 이벤트에 응답하는 데 사용할 수 있는 새 CustomTaskPane 개체를 반환합니다.

단계별 절차는 방법: 응용 프로그램에 사용자 지정 작업 창 추가를 참조하십시오.

사용자 인터페이스 만들기

Visual Studio의 Office 개발 도구를 사용하여 만드는 모든 사용자 지정 작업 창에는 UserControl 개체가 포함되어 있습니다. 이 사용자 정의 컨트롤은 사용자 지정 작업 창의 사용자 인터페이스를 제공합니다. 사용자 정의 컨트롤은 디자인 타임에 만들거나 런타임에 만들 수 있습니다. 디자인 타임에 사용자 정의 컨트롤을 만드는 경우 Windows Forms 디자이너를 사용하여 작업 창의 사용자 인터페이스를 구성할 수 있습니다.

사용자 지정 작업 창 인스턴스화

사용자 지정 작업 창의 사용자 인터페이스가 포함된 사용자 정의 컨트롤을 만든 후에는 CustomTaskPane을 인스턴스화해야 합니다. 이렇게 하려면 Add 메서드 중 하나를 호출하여 추가 기능의 CustomTaskPaneCollection에 사용자 정의 컨트롤을 전달합니다. 이 컬렉션은 ThisAddIn 클래스의 CustomTaskPanes 필드로 노출됩니다. 다음 코드 예제는 ThisAddIn 클래스에서 실행되도록 만들어졌습니다.

myUserControl1 = New MyUserControl
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "My Task Pane")
myCustomTaskPane.Visible = True
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Add 메서드에서는 새 CustomTaskPane 개체를 반환합니다. 이 개체를 사용하여 작업 창의 모양을 수정하거나 사용자 이벤트에 응답할 수 있습니다.

여러 창의 작업 창 제어

사용자 지정 작업 창은 사용자에게 문서 또는 항목의 뷰를 제공하는 문서 프레임 창에 연결됩니다. 작업 창은 연결된 창이 표시되어 있는 경우에만 표시됩니다.

사용자 지정 작업 창이 표시되는 창을 결정하려면 작업 창을 만들 때 적절한 Add 메서드 오버로드를 사용합니다.

일부 Office 응용 프로그램에는 둘 이상의 창이 열려 있을 때 작업 창을 만들거나 표시할 시기에 대한 명시적 지침이 필요합니다. 그러므로 응용 프로그램에서 작업 창이 적절한 문서나 항목과 함께 나타나도록 코드에서 사용자 지정 작업 창을 인스턴스화할 위치를 고려해야 합니다. 자세한 내용은 여러 응용 프로그램 창의 사용자 지정 작업 창 관리를 참조하십시오.

작업 창에서 응용 프로그램 액세스

사용자 정의 컨트롤에서 응용 프로그램을 자동화하려면 코드에서 Globals.ThisAddIn.Application을 사용하여 개체 모델에 직접 액세스합니다. 정적 Globals 클래스는 ThisAddIn 개체에 대한 액세스를 제공합니다. 이 개체의 Application 필드는 응용 프로그램의 개체 모델에 대한 진입점입니다.

ThisAddIn 개체의 Application 필드에 대한 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍을 참조하십시오. 사용자 지정 작업 창에서 응용 프로그램을 자동화하는 방법을 보여 주는 연습을 보려면 연습: 사용자 지정 작업 창을 사용하여 응용 프로그램 자동화를 참조하십시오. Globals 클래스에 대한 자세한 내용은 Office 프로젝트의 개체에 전역 액세스를 참조하십시오.

작업 창의 사용자 인터페이스 관리

작업 창을 만든 후 CustomTaskPane 개체의 속성 및 이벤트를 사용하여 작업 창의 사용자 인터페이스를 제어하고 사용자가 작업 창을 변경할 때 응답할 수 있습니다.

사용자 지정 작업 창 표시

작업 창은 기본적으로 표시되지 않습니다. 작업 창을 표시하려면 Visible 속성을 true로 설정해야 합니다.

작업 창의 모퉁이에 있는 닫기 단추(X)를 클릭하여 언제든지 작업 창을 닫을 수 있습니다. 그러나 사용자 지정 작업 창을 다시 열 수 있는 기본적인 방법은 없습니다. 사용자 지정 작업 창을 닫은 사용자는 이를 표시할 수 있는 방법이 제공되지 않는 한 사용자 지정 작업 창을 다시 표시할 수 없습니다.

추가 기능에서 사용자 지정 작업 창을 만들 때는 사용자가 클릭하여 사용자 지정 작업 창을 표시하거나 숨길 수 있는 단추 등의 UI 요소를 함께 만들어야 합니다. 리본 메뉴를 사용자 지정할 수 있는 Microsoft Office 응용 프로그램에서 사용자 지정 작업 창을 만드는 경우 사용자 지정 작업 창을 표시하거나 숨기는 단추가 포함된 컨트롤 그룹을 리본 메뉴에 추가할 수 있습니다. 이 작업을 수행하는 방법을 보여 주는 연습은 연습: 사용자 지정 작업 창과 리본 단추 동기화를 참조하십시오.

리본 메뉴를 사용자 지정할 수 없는 Microsoft Office 응용 프로그램에서 사용자 지정 작업 창을 만드는 경우에는 사용자 지정 작업 창을 표시하거나 숨기는 CommandBarButton을 추가할 수 있습니다.

작업 창의 모양 수정

CustomTaskPane 개체의 속성을 사용하여 사용자 지정 작업 창의 크기와 위치를 제어할 수 있습니다. 사용자 지정 작업 창에 포함된 UserControl 개체의 속성을 사용하여 사용자 지정 작업 창의 모양을 다양하게 변경할 수 있습니다. 예를 들어 사용자 정의 컨트롤의 BackgroundImage 속성을 사용하여 사용자 지정 작업 창의 배경 이미지를 지정할 수 있습니다.

다음 표에서는 CustomTaskPane 속성을 통해 사용자 지정 작업 창에 대해 변경할 수 있는 항목을 보여 줍니다.

Task

Property

작업 창의 크기 변경

Height

Width

작업 창의 위치 변경

DockPosition

작업 창을 숨기거나 표시

Visible

사용자가 작업 창의 위치를 변경할 수 없도록 고정

DockPositionRestrict

사용자 지정 작업 창 이벤트 프로그래밍

추가 기능에서 사용자 지정 작업 창이 수정되는 경우에 응답해야 할 수 있습니다. 예를 들어 사용자가 창의 방향을 세로에서 가로로 변경하는 경우 컨트롤의 위치를 조정할 수 있습니다.

다음 표에서는 사용자 지정 작업 창이 변경되는 경우에 응답하기 위해 처리할 수 있는 이벤트를 보여 줍니다.

Task

Event

작업 창의 위치가 변경될 때 응답

DockPositionChanged

작업 창이 숨겨지거나 표시될 때 응답

VisibleChanged

작업 창에서 사용하는 리소스 정리

사용자 지정 작업 창을 만든 후에도 추가 기능이 실행되는 동안에는 CustomTaskPane 개체가 메모리에 유지됩니다. 이 개체는 사용자가 작업 창의 모퉁이에 있는 닫기 단추(X)를 클릭한 후에도 메모리에 유지됩니다.

추가 기능이 실행 중일 때 작업 창에 사용된 리소스를 정리하려면 Remove 또는 RemoveAt 메서드를 사용합니다. 이 메서드는 지정된 CustomTaskPane 개체를 CustomTaskPanes 컬렉션에서 제거하고 개체의 Dispose() 메서드를 호출합니다.

Microsoft Visual Studio Tools for Office Runtime에서는 추가 기능이 언로드될 때 사용자 지정 작업 창에서 사용된 리소스를 자동으로 정리합니다. 프로젝트의 ThisAddIn_Shutdown 이벤트 처리기에서 Remove 또는 RemoveAt 메서드를 호출하지 마십시오. Microsoft Visual Studio Tools for Office Runtime에서는 ThisAddIn_Shutdown이 호출되기 전에 CustomTaskPane 개체에서 사용된 리소스를 정리하기 때문에 이러한 메서드는 ObjectDisposedException을 throw합니다. ThisAddIn_Shutdown에 대한 자세한 내용은 Office 프로젝트의 이벤트를 참조하십시오.

참고 항목

작업

방법: 응용 프로그램에 사용자 지정 작업 창 추가

연습: 사용자 지정 작업 창을 사용하여 응용 프로그램 자동화

연습: 사용자 지정 작업 창과 리본 단추 동기화

연습: Outlook에서 전자 메일 메시지와 함께 사용자 지정 작업 창 표시

방법: Outlook에서 전자 메일 메시지를 보여 주는 사용자 지정 작업 창 표시

개념

여러 응용 프로그램 창의 사용자 지정 작업 창 관리