Начиная с Delphi 5, взаимодействие с Word, Excel и многими другими распространенными программами, входящими в стандартную установку Windows и Microsoft Office, может осуществляться из приложений Delphi с помощью компонентов-серверов СОМ, размещенных в библиотеке на странице Servers. Эти компоненты отображают множество импортируемых серверов СОМ. Все они являются потомками своего базового класса TOleServer. В этом классе объявлены абстрактные методы и свойства, позволяющие устанавливать связь с сервером. Поэтому объекты класса TOleServer нельзя создавать непосредственно. В приложениях используются только потомки этого класса - конкретные серверы СОМ.

Компоненты страницы Servers различны для Microsoft Office 97 и Microsoft Office 2000\ХР. Впрочем, можно обойтись и без этих компонентов, просто создавая в своем приложении объекты соответствующих классов. При этом надо учитывать, что, начиная с в Delphi 6, имеется по несколько модулей на каждый класс серверов. Например, для сервера Excel это модули Ехсе197 и Ехсе12000. Как не трудно догадаться, первый из них относится к Microsoft Office 97, а второй - к Microsoft Office 2000. Аналогично для сервера Word имеются модули Word97 и Word2000. Начиная с Delphi 7, еще добавлены модули для Windows ХР: ExcelXP, WordXP и др. Но начиная с Delphi 2005, модули, относящиеся к Microsoft Office 97, исчезли, и остались только модули для Windows 2000 и Windows ХР.

Когда вы устанавливаете Delphi, вам задается вопрос, для какой версии Office-97, 2000 или ХР надо проводить установку. В зависимости от того, какой вариант вы выбрали, страница Servers в палитре компонентов будет отображать компоненты соответствующего пакета. В последующим вы можете при желании в любой момент изменить сделанный выбор.

Сменить активный пакет, определяющий состав страницы библиотеки Servers можно следующим образом. Выполните команду Component | Install Packages, или выполните команду Proiect | Options и в открывшемся окне перейдите на страницу Packages.

В открывшемся окне надо найти в списке Design packages строку, в которой в виде комментария написано "Microsoft Office ХР Sample Automation Server Wrapper Components* (такая строка будет, если при установке Delphi вы указали версию Office ХР), и выключить индикатор в этой строке. Тем самым вы снимете соответствующий пакет с регистрации в системе. При этом будет показано диалоговое окно с запросом, надо ли удалить пакет из списка пакетов времени выполнения. Ответьте на этот запрос отрицательно.

После этого щелкните на кнопке Add и добавьте вместо отключенного новый пакет. Для серверов Microsoft Office доступны следующие пакеты, размещенные

в каталоге ...\Bin:

офис строка описания

версия Delphi

файл

Office 97 Microsoft Office 97 Sample Automation Server Wrapper Components

dclaxserver70.bpl

Office 2000 Microsoft Office 2000 Sample Automation Server Wrapper Components

dcloffice2k70.bpl

2005

dcloffice2k90.bpl

2006

dcloffice2kl00.bpl

Office XP Microsoft Office XP Sample Automation Server Wrapper Components

dclofficexp70.bpl

2005

dclof f icexp90 .bpl

2006

dclof f icexp 100 .bpl

В зависимости от того, какой из этих пакетов у вас подключен (имя пакета вы можете видеть в строке под списком Design packages), добавьте недостающий. В Delphi 7 можете, сняв индикатор около добавленного пакета, добавить аналогичным образом и третий пакет. В заключение включите индикатор у того пакета, который хотите использовать по умолчанию. И полезно включить индикатор Defaul в нижнем левом углу окна. Если вы включите Defaul, то версии Delphi, предшествующие Delphi 2005, будут далее работать нормально. А версии Delphi 2005 и 2006 при очередной загрузке Delphi выдадут замечание, что такой-то пакет не может быть зарегистрирован, так как аналогичные компоненты уже зарегистрированы. При этом вам будет задан вопрос, надо ли в следующий раз повторять попытку загрузки. Если вы ответите на этот вопрос отрицательно, то в дальнейшем подобные замечания выдаваться не будут.


|Следующая страница ⇒

Приемы программирования в Delphi на основе VCL



Новости за месяц

  • Апрель
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31