다음을 통해 공유


문서 수준 사용자 지정 프로그래밍

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 Microsoft Office의 지정된 Visual Studio Tools for Office 프로젝트 및 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

Microsoft Office 버전

  • 2007 Microsoft Office System

  • Microsoft Office 2003

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

문서 수준 사용자 지정을 사용하여 Microsoft Office Word 또는 Microsoft Office Excel을 확장할 때 다음 작업을 수행할 수 있습니다.

  • 응용 프로그램의 개체 모델을 사용하여 Microsoft Office 응용 프로그램을 자동화할 수 있습니다.

  • 문서 화면에 컨트롤을 추가할 수 있습니다.

  • 사용자 지정 어셈블리에서 문서의 VBA(Visual Basic for Applications) 코드를 호출할 수 있습니다.

  • VBA에서 사용자 지정 어셈블리의 코드를 호출할 수 있습니다.

  • Microsoft Office가 설치되어 있지 않은 서버에 문서가 있을 때 문서의 일부 측면을 관리할 수 있습니다.

  • 응용 프로그램의 UI(사용자 인터페이스)를 사용자 지정할 수 있습니다.

문서 수준 사용자 지정과 Visual Studio Tools for Office를 사용하여 만들 수 있는 그 밖의 솔루션 유형에 대한 일반적인 내용은 Office 솔루션 개발 개요를 참조하십시오.

문서 수준 프로젝트에서 코드 작성

문서 수준 프로젝트를 만들면 Visual Studio Tools for Office에서는 프로젝트에 코드를 작성하는 데 사용할 수 있는 클래스를 자동으로 생성합니다. Visual Studio Tools for Office에서는 Word 및 Excel에 대해 각기 다른 클래스를 생성합니다.

  • Word용 문서 수준 프로젝트에서는 기본적으로 이 클래스를 ThisDocument라고 합니다.

  • Excel용 문서 수준 프로젝트에서는 통합 문서 자체에 대한 클래스와 각 워크시트에 대한 클래스가 별도로 생성되므로 여러 개의 클래스가 생성됩니다. 기본적으로 이러한 클래스의 이름은 다음과 같습니다.

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

생성된 클래스에는 문서가 열리거나 닫힐 때 호출되는 이벤트 처리기가 포함되어 있습니다. 문서가 열릴 때 코드를 실행하려면 Startup 이벤트 처리기에 코드를 추가합니다. 문서가 닫히기 직전에 코드를 실행하려면 Shutdown 이벤트 처리기에 코드를 추가합니다. 자세한 내용은 Visual Studio Tools for Office 프로젝트 이벤트를 참조하십시오.

문서 수준 프로젝트에서 자동으로 생성되는 각 클래스는 호스트 항목이라는 Visual Studio Tools for Office 클래스에서 파생됩니다. 예를 들어 Word 프로젝트의 ThisDocument 클래스는 Microsoft.Office.Tools.Word.Document 호스트 항목에서 파생됩니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

호스트 응용 프로그램 개체 모델에 액세스

호스트 응용 프로그램의 개체 모델에 액세스하려면 프로젝트에서 생성된 클래스의 멤버를 사용합니다. 이러한 각 클래스는 Excel 또는 Word의 개체 모델에 있는 클래스에 해당하며, 동일한 속성, 메서드 및 이벤트를 대부분 포함합니다. 예를 들어 Word용 문서 수준 프로젝트의 ThisDocument 클래스에서는 Word 개체 모델의 Microsoft.Office.Interop.Word.Document 클래스와 동일한 멤버를 대부분 제공합니다.

다음 코드 예제에서는 Word 개체 모델을 사용하여 Word용 문서 수준 사용자 지정의 일부인 문서를 저장하는 방법을 보여 줍니다. 이 예제는 ThisDocument 클래스에서 실행할 수 있습니다.

Me.Save()
this.Save();

ThisDocument 클래스 외부에서 동일한 작업을 수행하려면 Globals 개체를 사용하여 ThisDocument 클래스에 액세스합니다. Globals 개체에 대한 자세한 내용은 Visual Studio Tools for Office 프로젝트의 개체에 전역 액세스를 참조하십시오.

예를 들어 작업 창 UI에 저장 단추를 포함하려면 작업 창 코드 파일에 다음 코드를 추가합니다.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

ThisDocument 클래스는 Microsoft.Office.Tools.Word.Document 호스트 항목에서 파생되므로 이 코드에서 호출되는 Save 메서드는 실제로는 Microsoft.Office.Tools.Word.Document 호스트 항목의 Save 메서드입니다. 이 메서드는 Word 개체 모델에 있는 Microsoft.Office.Interop.Word.Document 클래스의 Save 메서드에 해당합니다.

Word 및 Excel의 개체 모델 사용에 대한 자세한 내용은 Word 개체 모델 개요Excel 개체 모델 개요를 참조하십시오.

문서에 컨트롤 추가

문서의 UI를 사용자 지정하려면 문서 화면에 Windows Forms 컨트롤이나 호스트 컨트롤을 추가합니다. 다양한 컨트롤 집합을 조합하고 코드를 작성하여 컨트롤을 데이터에 바인딩하고 사용자로부터 정보를 수집하고 사용자 작업에 응답할 수 있습니다.

호스트 컨트롤은 Word 및 Excel 개체 모델의 일부 개체를 확장하는 클래스입니다. 예를 들어 Microsoft.Office.Tools.Excel.ListObject 호스트 컨트롤에서는 Excel의 Microsoft.Office.Interop.Excel.ListObject 기능을 모두 제공합니다. 그러나 Microsoft.Office.Tools.Excel.ListObject 호스트 컨트롤에는 추가 이벤트 및 데이터 바인딩 기능도 있습니다.

자세한 내용은 호스트 항목 및 호스트 컨트롤 개요Office 문서의 Windows Forms 컨트롤 개요를 참조하십시오.

VBA 및 문서 수준 사용자 지정 결합

Visual Studio Tools for Office 문서 수준 사용자 지정의 일부인 문서에서 VBA 코드를 사용할 수 있습니다. 모든 문서 수준 프로젝트에서는 사용자 지정 어셈블리에서 문서의 VBA 코드를 호출할 수 있습니다. 2007 Microsoft Office system용 문서 수준 프로젝트에서는 문서의 VBA 코드에서 사용자 지정 어셈블리의 코드를 호출할 수 있도록 프로젝트를 구성할 수도 있습니다.

자세한 내용은 VBA 및 문서 수준 사용자 지정 결합을 참조하십시오.

서버에서 문서 관리

Microsoft Office Word 또는 Microsoft Office Excel이 설치되어 있지 않은 서버에서 문서 수준 사용자 지정의 다양한 측면을 관리할 수 있습니다. 예를 들어 문서의 데이터 캐시에 있는 데이터에 액세스하여 이를 수정할 수 있습니다. 문서와 연결된 Visual Studio Tools for Office 사용자 지정 어셈블리를 관리할 수도 있습니다. 예를 들어 문서에서 코드가 더 이상 실행되지 않도록 문서에서 어셈블리를 프로그래밍 방식으로 제거하거나 문서에 어셈블리를 프로그래밍 방식으로 연결할 수 있습니다.

자세한 내용은 ServerDocument 클래스를 사용하여 서버의 문서 관리를 참조하십시오.

Microsoft Office 응용 프로그램의 사용자 인터페이스 사용자 지정

문서 수준 사용자 지정을 사용하여 Word 및 Excel의 UI를 사용자 지정할 수 있습니다.

Microsoft Office의 2007 및 2003 릴리스

Microsoft Office 2003과 2007 Microsoft Office system의 경우 다음과 같은 방법으로 UI를 사용자 지정할 수 있습니다.

2007 릴리스

Word 2007 및 Excel 2007의 경우 다음과 같은 방법으로 UI를 사용자 지정할 수도 있습니다.

2003 릴리스

Word 2003 및 Excel 2003의 경우 다음과 같은 방법으로 UI를 사용자 지정할 수도 있습니다.

Microsoft Office 응용 프로그램의 UI 사용자 지정에 대한 자세한 내용은 Office UI 사용자 지정를 참조하십시오.

참고 항목

작업

방법: 사용자 지정 문서 속성 만들기 및 수정

방법: 문서 속성에서 읽기 및 문서 속성에 쓰기

개념

VBA 및 문서 수준 사용자 지정 결합

ServerDocument 클래스를 사용하여 서버의 문서 관리

문서 수준 사용자 지정의 네이티브 Office 개체에서 확장 개체 가져오기

기타 리소스

Office 문서의 컨트롤