Excel 개체 모델 개요

업데이트: 2010년 5월

Microsoft Office Excel을 사용하는 솔루션을 개발하려면 Excel 개체 모델에서 제공하는 개체와 상호 작용합니다. 이 항목에서는 가장 중요한 다음 개체에 대해 소개합니다.

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

개체 모델은 사용자 인터페이스와 매우 유사한 방식으로 구성되어 있습니다. Application 개체는 전체 응용 프로그램을 나타내고 각 Workbook 개체는 Worksheet 개체의 컬렉션을 포함합니다. 여기서 셀을 나타내는 주요 추상화는 개별 셀 또는 셀 그룹과 관련된 작업을 할 수 있게 해 주는 Range 개체입니다.

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

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

비디오에 링크 관련 비디오 데모를 보려면 How Do I: Use Event Handlers in an Excel 2007 Add-in?How Do I: Use Shapes to Create a Bubble Chart in Excel?을 참조하십시오.

Excel 프로젝트에서 개체 액세스

Excel용 새 응용 프로그램 수준 프로젝트를 만들면 Visual Studio에서 자동으로 ThisAddIn.vb 또는 ThisAddIn.cs 코드 파일이 만들어집니다. Me.Application 또는 this.Application을 사용하여 Application 개체에 액세스할 수 있습니다.

Excel용 새 문서 수준 프로젝트를 만들 경우 Excel 통합 문서 프로젝트를 만들지 Excel 서식 파일 프로젝트를 만들지를 선택할 수 있습니다. Visual Studio에서는 통합 문서 프로젝트와 서식 파일 프로젝트 모두에 대해 다음과 같은 코드 파일이 새 Excel 프로젝트에 자동으로 만들어집니다.

Visual Basic

C#

ThisWorkbook.vb

ThisWorkbook.cs

Sheet1.vb

Sheet1.cs

Sheet2.vb

Sheet2.cs

Sheet3.vb

Sheet3.cs

프로젝트에서 Globals 클래스를 사용하여 각 클래스 외부에서 ThisWorkbook, Sheet1, Sheet2 또는 Sheet3에 액세스할 수 있습니다. 자세한 내용은 Office 프로젝트의 개체에 전역 액세스를 참조하십시오. 다음 예제에서는 Sheet1의 PrintPreview 메서드를 호출합니다. 이때 코드가 Sheetn 클래스 중 하나 또는 ThisWorkbook 클래스 가운데 어디에 있는지는 상관없습니다.

Globals.Sheet1.PrintPreview()
Globals.Sheet1.PrintPreview(missing);

Excel 문서의 데이터가 매우 구조적이므로 개체 모델은 계층적이고 간단합니다. Excel에서 제공되는 상호 작용 가능한 개체의 수는 매우 많지만 우선 사용 가능한 몇 가지 개체를 중점적으로 살펴보는 것만으로도 개체 모델 작업을 시작할 수 있습니다. 이러한 개체로는 다음 네 가지가 있습니다.

  • Application

  • Workbook

  • Worksheet

  • 범위

Excel을 통해 수행하는 작업의 대부분은 이 네 가지 개체 및 이들의 멤버를 중심으로 진행됩니다.

Application 개체

Excel Application 개체는 Excel 응용 프로그램 자체를 나타냅니다. Application 개체는 실행 중인 응용 프로그램, 해당 인스턴스에 적용된 옵션 및 인스턴스 내에서 열려 있는 현재 사용자 개체에 대한 많은 양의 정보를 노출합니다.

참고

Excel에서 Application 개체의 EnableEvents 속성을 false로 설정하지 마십시오. 이 속성을 false로 설정하면 Excel에서 호스트 컨트롤 이벤트를 비롯한 모든 이벤트가 발생하지 않습니다.

Workbook 개체

Microsoft.Office.Interop.Excel.Workbook 개체는 Excel 응용 프로그램 내의 단일 통합 문서를 나타냅니다.

Visual Studio의 Office 개발 도구는 Microsoft.Office.Tools.Excel.Workbook 형식을 제공하여 Microsoft.Office.Interop.Excel.Workbook 개체를 확장합니다. 이 형식은 Microsoft.Office.Interop.Excel.Workbook 개체의 모든 기능에 대한 액세스를 제공할 뿐 아니라 통합 문서에 스마트 태그를 추가하는 기능 등의 새 기능도 제공합니다. 자세한 내용은 통합 문서 호스트 항목을 참조하십시오.

참고

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

Worksheet 개체

Microsoft.Office.Interop.Excel.Worksheet 개체는 Worksheets 컬렉션의 멤버입니다. Microsoft.Office.Interop.Excel.Worksheet의 속성, 메서드 및 이벤트 대부분은 Application 또는 Microsoft.Office.Interop.Excel.Workbook 개체에서 제공하는 멤버와 동일하거나 유사합니다.

Excel에서는 Sheets 컬렉션을 Microsoft.Office.Interop.Excel.Workbook 개체의 속성으로 제공합니다. Sheets 컬렉션의 각 멤버는 Microsoft.Office.Interop.Excel.Worksheet 또는 Microsoft.Office.Interop.Excel.Chart 개체입니다.

Visual Studio의 Office 개발 도구는 Microsoft.Office.Tools.Excel.Worksheet 형식을 제공하여 Microsoft.Office.Interop.Excel.Worksheet 개체를 확장합니다. 이 형식은 Microsoft.Office.Interop.Excel.Worksheet 개체의 모든 기능에 대한 액세스를 제공할 뿐 아니라 관리되는 컨트롤을 호스팅하고 새 이벤트를 처리하는 기능 등의 새 기능도 제공합니다. 자세한 내용은 워크시트 호스트 항목을 참조하십시오.

Range 개체

Microsoft.Office.Interop.Excel.Range 개체는 Excel 응용 프로그램에서 가장 자주 사용되는 개체입니다. Excel 내의 특정 영역을 조작하려면 먼저 이 영역을 Range 개체로 표현하고 해당 범위의 메서드 및 속성과 관련된 작업을 수행해야 합니다. Range 개체는 셀, 행 또는 열을 나타낼 뿐 아니라, 하나 이상의 셀 블록(연속 또는 불연속)이 포함된 셀 선택 영역 또는 심지어 여러 시트에 걸친 셀 그룹도 나타냅니다.

Visual Studio에서는 Microsoft.Office.Tools.Excel.NamedRangeMicrosoft.Office.Tools.Excel.XmlMappedRange 형식을 제공하여 Microsoft.Office.Interop.Excel.Range 개체를 확장합니다. 이러한 형식에는 Microsoft.Office.Interop.Excel.Range 개체와 동일한 대부분의 기능뿐 아니라 데이터 바인딩 기능 같은 새로운 기능과 새 이벤트도 있습니다. 자세한 내용은 NamedRange 컨트롤XmlMappedRange 컨트롤을 참조하십시오.

Excel 개체 모델 설명서 사용

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

주 Interop 어셈블리 참조

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

참고

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

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

VBA 개체 모델 참조

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

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

관련 항목

제목

설명

방법: BDC 모델 만들기

Microsoft Office Excel용 문서 수준 사용자 지정 및 응용 프로그램 수준 추가 기능을 만드는 방법에 대해 설명합니다.

방법: SharePoint 프로젝트에 기존 BDC 모델 파일 추가

셀과 관련된 일반적인 작업을 수행하는 방법을 보여 주는 예제를 제공합니다.

방법: 리소스 파일을 사용하여 지역화된 이름, 속성 및 사용 권한 지정

범위와 관련된 일반적인 작업을 수행하는 방법을 보여 주는 예제를 제공합니다.

방법: BDC 기능에 사용자 지정 어셈블리 포함

워크시트와 관련된 일반적인 작업을 수행하는 방법을 보여 주는 예제를 제공합니다.

통합 문서 사용

통합 문서와 관련된 일반적인 작업을 수행하는 방법을 보여 주는 예제를 제공합니다.

변경 기록

날짜

변경 내용

이유

2010년 5월

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

향상된 기능 관련 정보