티스토리 뷰

[스크립트] Excel Object(개체) 모델 

스크립트 언어나 C#, VB.NET에서 Excel에 대한 처리를 하기 위해서 마이크로 소프트는 Excel에 대한 dll을 제공하고 있습니다. 이 dll을 사용하기 위해서는 Excel에 대한 Object 구성을 먼저 이해하고 있어야 합니다. 


따라서 이글에서는 Excel Object에 대해서 살펴보도록 하겠습니다. 


Excel Object는 Microsoft.Office.Interop.Excel 어셈블리 안에 있습니다. 대표적인 개체인 Application는 다음과 같은 구성을 가지고 있습니다.




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



Excel 문서의 구조는 생각보다 간단합니다. 위의 개체들을 그림으로 먼저 살펴보겠습니다.


Excel.exe를 통해서 실행시키면 Application 개체가 생성이 됩니다. 그리고 새로만들기 혹은 읽어오기를 통해서 엑셀 파일을 생성하면 파일에 대한 부분이 Workbook입니다. Workbook내의 sheet 구분이 Worksheet가 되고, 마지막으로 sheet 내의 특정 셀의 집합이 Range가 되는것입니다. 



Microsoft의 설명에 따르면 각 개체의 설명은 아래와 같습니다.


1) Application 개체


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


[참고]

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


2) 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 개체입니다. 


3) 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 개체를 확장합니다. 


4) Range 개체


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


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


이 글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.



댓글