Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3975 / 230 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 14:

Автоматизация приложений Microsoft Office и управление процессами

Аннотация: В этой лекции вы узнаете, как из Visual Basic .NET управлять приложениями Microsoft Office XP. Вы узнаете, как с помощью компоненты Process и методов Start и CloseMainWindow запускать и останавливать приложения Windows из программы на Visual Basic

В этой лекции вы узнаете, как:

  • использовать Object Browser (Обозреватель объектов) для изучения объектов;
  • использовать Microsoft Excel для вычисления выплат по закладной;
  • управлять книгой Excel из Visual Basic .NET;
  • запускать и останавливать приложения Microsoft Windows с помощью компоненты Process.

Что нового в Visual Basic .NET?

  • В Visual Basic 6 для добавления объектов приложений в формы Visual Basic вы могли использовать элемент управления OLE Container. Элемент управления OLE Container больше не включен в Область элементов.
  • Visual Basic 6 использовал элементы управления ActiveX, основанные на технологии Component Object Model (COM). В Visual Basic .NET элементы управления больше не используют спецификации COM. Однако компоненты и приложения COM можно по-прежнему использовать в программах на Visual Basic .NET, добавив ссылку на эти компоненты на закладке COM диалогового окна Add Reference (Добавить ссылку). Когда вы выбираете компоненту COM, Visual Studio автоматически генерирует "оболочку", которая содержит все необходимые типы и классы.
  • Приложения и компоненты Microsoft Office XP (которые продолжают использовать спецификации COM) могут по-прежнему управляться с помощью приложений на Visual Basic .NET через механизм Automation, который является популярным методом доступа к объектам другого приложения. Однако в Visual Basic .NET объекты приложений должны присваиваться не во время исполнения, а во время компиляции. (Другими словами, при использовании Automation предпочтительнее раннее связывание, а не позднее.)
  • В Visual Basic 6 для запуска приложений Windows программисты часто использовали функцию Shell. В Visual Basic .NET запуск и остановка приложений производится с помощью компоненты Process на закладке Components (Компоненты) окна Области элементов.

Программирование объектов приложений с помощью Automation

Automation - это технология, основанная на стандарте взаимодействия COM, который применяется при разработке совместно используемых приложений и компонент. Важно, что понимания того, как работают используемые компоненты, при этом не требуется. Automation позволяет использовать функции одного приложения из другого приложения. Функции приложений Windows, которые полностью поддерживают Automation, доступны в виде коллекций объектов, с которыми ассоциированы свойства и методы. Приложения Windows, которые предоставляют свои объекты, называются объектными, или серверными, приложениями, а программы, которые используют эти объекты, называются управляющими, или клиентскими, приложениями. Хотя элементы управления Visual Studio .NET больше не разрабатываются в соответствии со спецификациями COM, вы по-прежнему можете использовать в программах на Visual Basic .NET компоненты COM.

В настоящий момент в качестве объектных или управляющих приложений могут использоваться следующие приложения Microsoft:

  • Microsoft Visual Studio .NET, Microsoft Visual Basic 6
  • Microsoft Word 2002, Microsoft Word 2000, Microsoft Word 97
  • Microsoft Excel 2002, Microsoft Excel 2000, Microsoft Excel 97, Microsoft Excel 95, Microsoft Excel 5.0
  • Microsoft PowerPoint 2002, Microsoft PowerPoint 2000, Microsoft PowerPoint 97
  • Microsoft Project 2000, Microsoft Project 97, Microsoft Project 95
  • Microsoft Outlook 2002, Microsoft Outlook 2000, Microsoft Outlook 97/98
Совет. В настоящий момент Microsoft распространяет язык программирования Visual Basic for Applications, так что вы можете встретить и приложения Windows не от Microsoft, которые поддерживают Automation и методики программирования Visual Basic. Будущие версии Microsoft Office также будут поддерживать Automation.

Использование Automation в Visual Basic

В Visual Basic .NET вы можете создать как объектные приложения, так и управляющие приложения, поддерживающие Automation. Создание приложения, которое поддерживает Automation, выходит за рамки этой лекции. Однако создание управляющих приложений, которые используют функции Automation, во всех версиях Visual Basic является простым процессом, и будет обсуждаться в этой лекции.

Примечание. Приложения из набора Microsoft Office XP (Excel 2002, Word 2002, Access 2002, PowerPoint 2002 и Outlook 2002) могут предоставлять свою функциональность через Automation. Так как функции и объекты каждого из этих приложений уникальны, то прежде, чем перейти к примерам, изучите документацию на эти программные продукты или справочную систему по каждой из программ. Если в вашей системе Microsoft Office уже установлен, то для изучения доступных объектов, свойств и методов вы можете использовать Object Browser (Обозреватель объектов) из Visual Basic.

В следующих разделах вы узнаете, как писать программы на Visual Basic, которые работают с Excel 2002. Обратите внимание, что объекты, свойства и методы, предоставляемые этим приложением, обычно связаны с командами меню и опциями диалоговых окон, предоставляемых приложением. Эти базовые навыки можно использовать для автоматизации объектов в Word, Outlook, PowerPoint и других приложениях и компонентах, поддерживающих стандарты COM.

Object Browser (Обозреватель объектов) в Visual Studio

Object Browser (Обозреватель объектов) из Visual Studio - это утилита, которая применяется для:

  • отображения объектов, свойств и методов, используемых программой, над которой вы работаете в среде разработки Visual Studio;
  • отображения объектов, свойств и методов, доступных из приложений, которые поддерживают Automation.

В следующем упражнении вы будете использовать Object Browser (Обозреватель объектов) для просмотра объектов Automation, предоставляемых Excel 2002.

Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

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