Поделиться через


Общие сведения об объектной модели Excel

Обновлен: Ноябрь 2007

Применимость

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Excel 2003

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Для разработки решений, которые использует Microsoft Office Excel необходимо взаимодействие с объектами, предоставленными объектной моделью Excel. В этом разделе представлены наиболее важные классы:

Объектная модель точно соответствует пользовательскому интерфейсу. Объект Application представляет приложение в целом, и каждый из объектов Workbook содержит коллекцию объектов Worksheet. Отсюда следует, что основная абстракция, представляющая ячейки, является объектом Range, позволяющим работать с отдельными ячейками или группой ячеек.

Объект Visual Studio Tools for Office расширяет многие из внутренних объектов до уровня ведущих элементов и элементов управления ведущего приложения, которые можно использовать в настройках на уровне документа. Эти элементы управления ведущего приложения имеют дополнительные функциональные возможности, включая возможности привязки данных и событий. Например, внутренний объект Excel Microsoft.Office.Interop.Excel.Range расширяется в элемент управления Microsoft.Office.Tools.Excel.NamedRange, который может быть привязан к данным и представлять события. Дополнительные сведения о ведущих элементах и ведущем приложении см. в разделе Extended Objects in Document-Level Projects.

В этом разделе представлен краткие общие сведения об объектной модели Excel. Список документации для более глубокого изучения всей объектной модели Excel см. в разделе Using the Excel Object Model Documentation.

Доступ к объектам в проекте Excel

При создании нового проекта уровня приложения для Excel с помощью Visual Studio Tools for Office, Visual Studio автоматически создает файл кода ThisAddIn.vb или ThisAddIn.cs. Доступ к объекту приложения можно получить с помощью свойства Me.Application или this.Application.

При создании нового проекта уровня документа для Excel с помощью среды Visual Studio Tools for Office можно создать новый проект книги или шаблона Excel. Visual Studio Tools for Office автоматически создает следующие файлы кода для нового проекта 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 вне соответствующего класса. Дополнительные сведения см. в разделе Глобальный доступ к объектам в Visual Studio Tools for Office. В следующем примере вызывается метод PrintPreview класса Sheet1 вне зависимости от того, размещен код в классе Sheet или Workbook.

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

Поскольку данные в документе Excel хорошо структурированы, модель объекта иерархичная и прямая. Excel предоставляет сотни объектов, с которыми можно взаимодействовать, но лучше начать работу с запуска объектной модели, сосредоточившись на небольшом подмножестве доступных объектов. К числу данных объектов относятся следующие четыре:

  • Приложение

  • Книга

  • Лист

  • Диапазон

Большая часть работы центров Excel выполняется вокруг этих четырех классов и их элементов.

Объект приложения

Объект Excel Application представляет приложение Excel. Объект Application представляет множество сведений о выполняющемся приложении, параметрах этого экземпляра и текущих объектах пользователя, открытых в экземпляре.

wss56bz7.alert_note(ru-ru,VS.90).gifПримечание.

Нельзя устанавливать для свойства EnableEvents объекта Application в Excel значение false. Установка значения "false" для этого свойства предотвращает инициирование событий в Excel, включая события элементов управления ведущего приложения.

Объект Workbook

Класс Microsoft.Office.Interop.Excel.Workbook представляет одну книгу в приложении Excel.

Visual Studio Tools for Office расширяет класс Microsoft.Office.Interop.Excel.Workbook, предоставляя класс Microsoft.Office.Tools.Excel.Workbook, который дает доступ ко всем элементам коллекции Workbooks в дополнение к возможности привязки к данным и дополнительным событиям.

Объект 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, но класс Sheet в Excel отсутствует. Вместо этого, каждый элемент коллекции Sheets является объектом Microsoft.Office.Interop.Excel.Worksheet или Microsoft.Office.Interop.Excel.Chart.

Для настройки на уровне документа Visual Studio Tools for Office предоставляет ведущий элемент Microsoft.Office.Tools.Excel.Worksheet и создает три экземпляра в новых проектах: Sheet1, Sheet2 и Sheet3. Доступ к любому из листов может быть получен посредством ссылки Globals. Среда Visual Studio Tools for Office расширяет объект Microsoft.Office.Interop.Excel.Worksheet, предоставляя ведущий элемент Microsoft.Office.Tools.Excel.Worksheet.

Объект Range

Объект Microsoft.Office.Interop.Excel.Range является объектом, который будет использоваться по большей части с приложениями Excel. Перед тем, как начать управлять любой областью Excel ее необходимо указать в качестве объекта Range и работать с методами и свойствами этого диапазона. Объект Range представляет ячейку, строку, столбец и набор ячеек, содержащий один или несколько блоков ячеек (которые могут быть смежными или несмежными) или группу ячеек на нескольких листах.

Для настройки уровня документа объект Visual Studio Tools for Office вводит два диапазона элементов управления ведущего приложения: Microsoft.Office.Tools.Excel.NamedRange и Microsoft.Office.Tools.Excel.XmlMappedRange. Дополнительные сведения об элементах управления ведущего приложения см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.

Расширенные объекты в проектах уровня документа

Важно понимать разницу между собственными объектами, предоставляемыми объектной моделью Excel и расширенными объектами (ведущими элементами и элементами управления ведущего приложения), предоставляемыми Visual Studio Tools for Office. Оба типа объектов доступны для проектов на уровне документа.

Разница между этими объектами лежит в следующих четырех областях:

  • Этап разработки. Если какие-либо расширенные объекты Excel добавляются во время разработки, то они автоматически создаются как ведущие элементы и элементы управления ведущего приложения. Например, если на лист добавляется список в конструкторе, то автоматически создается код для расширения этого списка в элемент управления Microsoft.Office.Tools.Excel.ListObject.

  • Этап выполнения. Ведущие элементы не создаются автоматически во время выполнения. Если книги, листы или листы диаграмм добавляются во время выполнения, то они являются объектами Excel и не имеют дополнительных возможностей, которые предоставляют ведущие элементы. Программным путем можно добавить множество элементов управления ведущего приложения. Дополнительные сведения см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.

  • Привязка данных и события. Ведущие элементы и элементы управления ведущего приложения обладают возможностями привязки данных и событий, которые недоступны в собственных объектах.

  • Типы. Собственные объекты Excel используют типы, заданные в пространстве имен Microsoft.Office.Interop.Excel, в то время как ведущие элементы и элементы управления ведущего приложения используют составные типы, заданные в пространстве имен Microsoft.Office.Tools.Excel.

Использование документации по объектной модели Excel

Сведения о доступных классах объектной модели Excel см. в следующих пакетах документации:

По первой ссылке можно найти сведения о классах и интерфейсах в основной сборке взаимодействия для Excel. Остальные ссылки ведут к документации по объектной модели Excel, поскольку она представлена применительно к коду Visual Basic для приложений (VBA). Каждый пакет документации имеет преимущества и недостатки для разработчиков, использующих Visual Studio Tools for Office.

Документация по основной сборке взаимодействия

В данной документации описываются все типы основной сборки взаимодействия Excel, которые можно использовать в проектах Visual Studio Tools for Office. Однако в этой документации имеется ряд недостатков:

  • Описываются только типы основной сборки взаимодействия для Excel 2003. Описание новых типов и членов основной сборки взаимодействия для Excel 2007 см. в описании VBA для Excel 2007.

  • На данный момент в этой документации не предоставляются примеры кода.

Документация по VBA

В данной документации описываются все объекты и члены, соответствующие классам и членам основной сборки взаимодействия, используемым в проектах Visual Studio Tools for Office. Например, объект Worksheet в документации Excel VBA соответствует классу Microsoft.Office.Interop.Excel.Worksheet в основной сборке взаимодействия.

Документация по VBA имеет следующие преимущества:

  • Дается описание объектных моделей как Excel 2007, так и Excel 2003.

  • Для большинства элементов предоставляются примеры кода.

Документация по VBA имеет следующие недостатки:

  • Синтаксис и примеры кода предоставлены только для VBA. Чтобы использовать примеры кода в проектах Visual Studio Tools for Office, необходимо транслировать код VBA в Visual Basic или Visual C#.

Дополнительные типы в основных сборках взаимодействия

В основных сборках взаимодействия представлено множество типов, недоступных в VBA. Эти дополнительные типы используются для преобразования объектов объектной модели COM Excel в управляемый код и не предназначены для непосредственного использования в коде.

Дополнительные сведения см. в разделе Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

См. также

Основные понятия

Решения Excel

Разработка надстроек уровня приложения для Excel

Работа с ячейками

Работа с диапазонами

Работа с листами

Работа с книгами

Разработка настройки на уровне документа Excel

Общие сведения об объектной модели Word

Общие сведения о ведущих элементах и элементах управления ведущего приложения

Программные ограничения ведущих элементов и элементов управления ведущего приложения

Общие сведения о необязательных параметрах в решениях Office

Другие ресурсы

Элементы управления ведущего приложения Excel