Office 솔루션 프로그래밍 모델
업데이트: 2007년 11월
Microsoft Office 개체 모델에서는 프로그래밍 대상이 될 수 있는 다양한 개체를 노출합니다. 일반적으로 자동화를 통해 관리 코드로 Microsoft Office 응용 프로그램을 프로그래밍할 때는 주 interop 어셈블리를 대상으로 직접 코드를 작성합니다. Visual Studio Tools for Office 솔루션에서는 프로젝트의 호스트 항목을 대상으로 직접 코드를 작성할 수도 있습니다.
또한 Visual Studio Tools for Office에서는 Microsoft Office Word 및 Microsoft Office Excel의 개체 중 일부를 확장합니다. 이때 이벤트와 데이터 바인딩 기능이 추가되며, 이러한 개체가 Windows Form에 컨트롤을 추가하는 것과 같은 방법으로 문서에 추가할 수 있는 컨트롤로 노출됩니다. 이렇게 확장된 컨트롤을 호스트 컨트롤이라고 합니다.
호스트 항목 사용
호스트 항목에서는 코드에 대한 진입점인 Startup 및 Shutdown 이벤트를 제공합니다. 추가 기능을 초기화하려면 Startup 이벤트 처리기에 코드를 추가합니다. 추가 기능에서 사용한 리소스를 해제하려면 Shutdown 이벤트 핸들러에 코드를 추가합니다. 자세한 내용은 Visual Studio Tools for Office 프로젝트 이벤트를 참조하십시오.
또한 호스트 항목은 호스트 응용 프로그램의 개체 모델에 대한 진입점을 제공합니다. Excel 및 Word용 프로젝트에서는 호스트 응용 프로그램의 개체 모델에 있는 클래스와 비슷한 호스트 항목을 제공합니다. 예를 들어 Word 문서 프로젝트의 Microsoft.Office.Tools.Word.Document 호스트 항목 클래스에서는 Word 개체 모델의 Microsoft.Office.Interop.Word.Document 클래스와 동일한 멤버를 제공합니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.
응용 프로그램 수준 프로젝트에서는 AddIn 호스트 항목을 제공합니다. 이 호스트 항목은 호스트 응용 프로그램의 개체 모델에 있는 클래스에서 파생되지 않습니다. 대신 호스트 응용 프로그램의 현재 인스턴스를 나타내는 개체를 반환하는 Application 필드가 제공됩니다. 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍을 참조하십시오.
호스트 컨트롤 이벤트 및 데이터 바인딩 사용
호스트 컨트롤에는 프로그래밍 가능한 이벤트가 있습니다. 예를 들어, 네이티브 Excel Microsoft.Office.Interop.Excel.Range에는 이벤트가 없지만 NamedRange 호스트 컨트롤의 Change 이벤트는 프로그래밍할 수 있습니다. 자세한 내용은 연습: NamedRange 컨트롤의 이벤트 프로그래밍을 참조하십시오.
Windows Forms에서 컨트롤의 이벤트를 사용하는 것처럼 이러한 이벤트를 코딩할 수 있습니다. 자세한 내용은 이벤트 개요(Windows Forms)를 참조하십시오.
또한 호스트 컨트롤에는 Windows Forms의 컨트롤과 비슷하게 작동하는 데이터 바인딩 기능이 있습니다. 호스트 컨트롤을 사용하면 단순 데이터 바인딩 또는 복합 데이터 바인딩을 수행할 수 있습니다. 자세한 내용은 컨트롤에 데이터 바인딩 및 데이터 바인딩 및 Windows Forms를 참조하십시오.
문서 수준 프로젝트에서 데이터 프로그래밍
ASP.NET 웹 페이지의 데이터 저장 방식과 유사하게, 포함된 데이터 아일랜드에 문서 수준 프로젝트의 데이터를 문서와 별도로 저장할 수 있습니다. 포함된 데이터 아일랜드를 사용하여 데이터를 저장하면, 문서를 인스턴스화하기 위해 Word나 Excel을 시작하거나 응용 프로그램의 개체 모델을 사용하지 않고도 데이터에 액세스할 수 있습니다. 자세한 내용은 문서 수준 사용자 지정의 데이터 개요를 참조하십시오.
스키마 기반 프로그래밍
Office 프로젝트의 데이터를 액세스하고 조작하려면 형식화된 데이터 집합을 만들어 사용할 데이터를 보관하는 것이 좋습니다. 스키마 기반 프로그래밍을 사용하면 더욱 직관적인 방식으로 사용자 정의 개체 모델과 프로그램을 정의할 수 있으므로 Office 개체 모델보다는 솔루션에 집중할 수 있습니다. 형식화된 데이터 집합에 대한 자세한 내용은 Visual Studio의 데이터 집합 개요를 참조하십시오.
서버측 프로그래밍
포함된 데이터 아일랜드에 데이터가 저장되므로 Microsoft Office 응용 프로그램을 시작하지 않고도 서버에 저장되어 있는 문서와 관련된 데이터에 직접 액세스할 수 있습니다. 자세한 내용은 서버에 있는 문서의 데이터 액세스를 참조하십시오.