Word 개체 모델 개요

업데이트: 2010년 5월

Visual Studio에서 Word 솔루션을 개발할 때 Word 개체 모델과 상호 작용할 수 있습니다. 이 개체 모델은 Word의 주 interop 어셈블리에 제공되는 클래스와 인터페이스로 구성되며 Microsoft.Office.Interop.Word 네임스페이스에 정의됩니다.

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

이 항목에서는 Word 개체 모델을 간단히 소개합니다. 전체 Word 개체 모델에 대한 자세한 내용은 Word 개체 모델 설명서 사용을 참조하십시오.

Word 개체 모델을 사용하여 특정 작업을 수행하는 방법에 대한 자세한 내용은 다음 항목을 참조하십시오.

Word 개체 모델 이해

Word에는 사용자가 상호 작용할 수 있는 다양한 개체가 있습니다. 이러한 개체는 사용자 인터페이스를 철저하게 따르는 계층 구조로 구성됩니다. 계층 구조의 맨 위에는 Application 개체가 있습니다. 이 개체는 Word의 현재 인스턴스를 나타냅니다. Application 개체는 Document, Selection, BookmarkRange 개체를 포함합니다. 이러한 개체 각각에는 개체를 조작하고 개체와 상호 작용하는 데 액세스할 수 있는 여러 가지 메서드와 속성이 있습니다.

다음 그림에서는 Word 개체 모델의 계층 구조에 있는 이러한 개체의 한 가지 보기를 보여 줍니다.

Word 개체 모델 추상화

Word 개체 모델 그래픽

처음에는 겹치는 부분이 많은 것처럼 보일 수 있습니다. 예를 들어 Document 개체와 Selection 개체는 둘 다 Application 개체의 멤버이지만 Document 개체는 Selection 개체의 멤버이기도 합니다. Document 개체와 Selection 개체는 모두 Bookmark 개체와 Range 개체를 포함합니다. 동일한 형식의 개체에 액세스하는 방법은 여러 가지가 있으므로 중복이 존재합니다. 예를 들어 Range 개체에 서식을 적용하더라도 현재 선택 범위, 특정 단락, 단원 또는 문서 전체에 액세스할 수 있습니다.

다음 단원에서는 최상위 수준 개체에 대해 간략하게 설명하고 이러한 개체들이 상호 작용하는 방식에 대해서도 알아봅니다. 이러한 개체로는 다음 다섯 개가 있습니다.

  • Application 개체

  • Document 개체

  • Selection 개체

  • Range 개체

  • Bookmark 개체

Visual Studio의 Office 프로젝트에서는 Word 개체 모델 외에도 Word 개체 모델의 일부 개체를 확장하는 호스트 항목 및 호스트 컨트롤을 제공합니다. 호스트 항목 및 호스트 컨트롤은 해당 항목 및 컨트롤이 확장하는 Word 개체처럼 작동하지만 데이터 바인딩 기능과 추가 이벤트 같은 추가적인 기능도 있습니다. 자세한 내용은 확장된 개체를 사용하여 Word 자동화호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

Application 개체

Application 개체는 Word 응용 프로그램을 나타내며 다른 모든 개체의 부모 개체입니다. 이 개체의 멤버는 일반적으로 Word 전체에 적용됩니다. 이 개체의 속성과 메서드를 사용하여 Word 환경을 제어할 수 있습니다.

응용 프로그램 수준 추가 기능 프로젝트의 경우 ThisAddIn 클래스의 Application 필드를 사용하여 Application 개체에 액세스할 수 있습니다. 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍을 참조하십시오.

문서 수준 프로젝트의 경우 ThisDocument 클래스의 Application 속성을 사용하여 Application 개체에 액세스할 수 있습니다.

Document 개체

Microsoft.Office.Interop.Word.Document 개체는 Word 프로그래밍의 핵심입니다. 이 개체는 문서 및 모든 해당 내용을 나타냅니다. 문서를 열거나 새 문서를 만들 때 사용자가 새 Microsoft.Office.Interop.Word.Document 개체를 만들면 이 개체는 Application 개체의 Documents 컬렉션에 추가됩니다. 포커스가 있는 문서를 활성 문서라고 합니다. 활성 문서는 Application 개체의 ActiveDocument 속성에 의해 나타납니다.

Visual Studio의 Office 개발 도구는 Microsoft.Office.Tools.Word.Document 형식을 제공하여 Microsoft.Office.Interop.Word.Document 개체를 확장합니다. 이 형식은 Microsoft.Office.Interop.Word.Document 개체의 모든 기능에 액세스할 수 있게 해 줄 뿐 아니라 추가 이벤트와 관리되는 컨트롤을 추가하는 기능을 제공하는 호스트 항목입니다.

문서 수준 프로젝트를 만들면 프로젝트의 생성된 ThisDocument 클래스를 사용하여 Microsoft.Office.Tools.Word.Document 멤버에 액세스할 수 있습니다. ThisDocument 클래스 내의 코드에서 Me 또는 this 키워드를 사용하거나 ThisDocument 클래스 외부의 코드에서 Globals.ThisDocument를 사용하여 Microsoft.Office.Tools.Word.Document 호스트 항목의 멤버에 액세스할 수 있습니다. 자세한 내용은 문서 수준 사용자 지정 프로그래밍을 참조하십시오. 예를 들어 문서의 첫 번째 단락을 선택하려면 다음 코드를 사용하십시오.

Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();

응용 프로그램 수준 프로젝트에서는 런타임에 Microsoft.Office.Tools.Word.Document 호스트 항목을 생성할 수 있습니다. 생성된 호스트 항목을 사용하여 관련 문서에 컨트롤과 스마트 태그를 추가할 수도 있습니다. 자세한 내용은 런타임에 응용 프로그램 수준 추가 기능의 Word 문서 및 Excel 통합 문서 확장을 참조하십시오.

참고

Excel 2010 및 Word 2010에서 스마트 태그는 더 이상 사용되지 않습니다. 자세한 내용은 스마트 태그 개요를 참조하십시오.

Selection 개체

Selection 개체는 현재 선택된 영역을 나타냅니다. 예를 들어 Word 사용자 인터페이스를 사용하여 텍스트를 굵은 글꼴로 바꾸려면 텍스트를 선택(강조 표시)한 다음 서식을 적용합니다. Selection 개체는 항상 문서에 존재합니다. 선택한 영역이 없는 경우 이 개체는 삽입 지점을 나타냅니다. 선택한 영역에는 인접하지 않은 여러 텍스트 블록이 포함될 수도 있습니다.

Range 개체

Range 개체는 문서에서 인접한 영역을 나타내며 시작 문자 위치와 끝 문자 위치에 의해 정의됩니다. Range 개체 수는 하나로 제한되지 않으며 동일한 문서 안에 여러 Range 개체를 정의할 수 있습니다. Range 개체에는 다음과 같은 특징이 있습니다.

  • 삽입 지점만으로 이루어질 수도 있고, 특정 범위의 텍스트 또는 문서 전체로 구성될 수도 있습니다.

  • 공백, 탭 문자 및 단락 기호 같은 인쇄되지 않는 문자도 포함할 수 있습니다.

  • 현재 선택한 영역을 통해 표시되는 영역일 수도 있고 현재 선택한 영역과 다른 영역을 나타낼 수도 있습니다.

  • 항상 표시되는 선택 영역과는 달리, 문서에 표시되지 않습니다.

  • 문서에 저장되지 않으며 코드를 실행하는 동안만 유지됩니다.

범위의 끝에 텍스트를 삽입하면 Word에서는 삽입된 텍스트가 포함되도록 자동으로 범위를 확장합니다.

Content 컨트롤 개체

Microsoft.Office.Interop.Word.ContentControl을 사용하면 Word 문서에서 텍스트 및 기타 형식의 콘텐츠에 대한 입력 및 표현을 제어할 수 있습니다. Microsoft.Office.Interop.Word.ContentControl을 통해 서식 있는 텍스트 컨트롤, 날짜 선택, 콤보 상자 등과 같이 Word 문서에서 사용하는 데 최적화된 다양한 형식의 UI를 표시할 수 있습니다. Microsoft.Office.Interop.Word.ContentControl을 사용하여 사용자가 문서 또는 서식 파일의 섹션을 편집하지 못하게 할 수도 있습니다.

Visual Studio에서는 Microsoft.Office.Interop.Word.ContentControl 개체를 여러 가지 호스트 컨트롤로 확장합니다. Microsoft.Office.Interop.Word.ContentControl 개체는 콘텐츠 컨트롤에 사용할 수 있는 다양한 형식의 UI를 표시할 수 있는 반면에 Visual Studio에서는 각 콘텐츠 컨트롤에 대해 서로 다른 형식을 제공합니다. 예를 들어 Microsoft.Office.Tools.Word.RichTextContentControl을 사용하여 서식 있는 텍스트 컨트롤을 만들거나, Microsoft.Office.Tools.Word.DatePickerContentControl을 사용하여 날짜 선택을 만들 수 있습니다. 이러한 호스트 컨트롤은 네이티브 Microsoft.Office.Interop.Word.ContentControl처럼 동작하지만 추가 이벤트 및 데이터 바인딩 기능을 가집니다. 자세한 내용은 콘텐츠 컨트롤을 참조하십시오.

Bookmark 개체

Microsoft.Office.Interop.Word.Bookmark 개체는 시작 위치와 끝 위치를 사용하여 문서에서 인접한 영역을 나타냅니다. 책갈피는 문서에서 특정 위치를 표시하기 위해 사용하거나 문서의 텍스트에 대한 컨테이너로 사용할 수 있습니다. Microsoft.Office.Interop.Word.Bookmark 개체는 삽입 지점으로 구성될 수도 있고 전체 문서 크기와 동일할 수도 있습니다. Microsoft.Office.Interop.Word.Bookmark에는 Range 개체와는 다른 다음과 같은 특징이 있습니다.

  • 디자인 타임에 책갈피 이름을 지정할 수 있습니다.

  • Microsoft.Office.Interop.Word.Bookmark 개체는 문서와 함께 저장되므로 코드 실행이 중지되거나 문서가 닫힌 경우에도 삭제되지 않습니다.

  • View 개체의 ShowBookmarks 속성을 false 또는 true로 설정하여 책갈피를 숨기거나 표시할 수 있습니다.

Visual Studio에서는 Microsoft.Office.Tools.Word.Bookmark 호스트 컨트롤을 제공하여 Microsoft.Office.Interop.Word.Bookmark 개체를 확장합니다. Microsoft.Office.Tools.Word.Bookmark 호스트 컨트롤은 네이티브 Microsoft.Office.Interop.Word.Bookmark처럼 동작하지만 추가 이벤트 및 데이터 바인딩 기능을 가집니다. 이제 Windows Form의 TextBox 컨트롤에 데이터를 바인딩할 때와 같은 방식으로 문서의 Bookmark 컨트롤에 데이터를 바인딩할 수 있습니다. 자세한 내용은 책갈피 컨트롤을 참조하십시오.

Word 개체 모델 설명서 사용

Word 개체 모델에 대한 자세한 내용은 Word의 PIA(주 interop 어셈블리) 참조 및 VBA 개체 모델 참조를 참조하십시오.

주 Interop 어셈블리 참조

Word PIA 참조 설명서에서는 Word용 주 interop 어셈블리의 형식을 설명합니다. 이 설명서는 Word 2010 Primary Interop Assembly Reference에서 볼 수 있습니다.

참고

Word 2007 PIA는 현재 문서화되어 있지 않습니다. 그러나 Word 2007 PIA의 형식은 Word 2010 PIA에도 포함되어 있으므로 이 참조 설명서의 정보는 Word 2007에도 적용됩니다.

PIA에서 클래스 및 인터페이스 간의 차이점과 PIA에서 이벤트가 구현되는 방법 등의 Word PIA 디자인에 대한 자세한 내용은 Overview of Classes and Interfaces in the Office Primary Interop Assemblies를 참조하십시오.

VBA 개체 모델 참조

VBA 개체 모델 참조에서는 VBA(Visual Basic for Applications) 코드에 노출되는 Word 개체 모델을 설명합니다. Word용 VBA 개체 모델 참조는 다음 위치에서 볼 수 있습니다.

VBA 개체 모델 참조의 모든 개체 및 멤버는 Word PIA의 형식 및 멤버에 해당합니다. 예를 들어 VBA 개체 모델 참조의 Document 개체는 Word PIA의 Microsoft.Office.Interop.Word.Document 개체에 해당합니다. VBA 개체 모델 참조에서 대부분의 속성에 대한 코드 예제를 제공하지만 Visual Studio를 사용하여 만든 Word 프로젝트에서 이러한 코드 예제를 사용하려면 이 참조의 VBA 코드를 Visual Basic 또는 Visual C#으로 변환해야 합니다.

참고 항목

참조

Office 주 Interop 어셈블리

개념

확장된 개체를 사용하여 Word 자동화

문서 작업

문서 텍스트 작업

테이블 작업

호스트 항목 및 호스트 컨트롤 개요

호스트 항목 및 호스트 컨트롤의 프로그래밍에 대한 제한 사항

Office 솔루션의 선택적 매개 변수

변경 기록

날짜

변경 내용

이유

2010년 5월

개체 모델 참조 설명에 대한 정보를 업데이트했습니다.

향상된 기능 관련 정보