pasha |
Отправлено: 20.05.2004, 12:01 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Работа с Excel + BCB описана в Уроках, но там нет описания
как работать с Excel используя библиотеку типов.
Когда создаю новый проект и пытаюсь подключить
к нему библиотеку типов (у меня OfficeXP+Win2000)
Project | Import Type Library | Add
нахожу файл C:\Program Files\Microsoft Office\Office10\Excel.exe
в списке появляется библиотека типов:
Microsoft Excel 10.0 Object Library (Version 1.4)
но на "Create Unit" выскакивает окно:
A class named "TExcelQueryTable" is already installed
Я так понимаю, ругается, что уже установлено.
Но где ??? Как найти и подключить ?
Может это из-за стоящих компонентов со вкладки Office2k ?
Кто сталкивался, подскажите, как все-же подключить
библиотеку типов, не хочу через компоненты с вкладки
Office2k, хочу через библиотеку типов сам.
Отредактировано pasha — 20/05/2004, 14:05 |
|
Valdemar |
Отправлено: 20.05.2004, 12:13 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
QUOTE | не хочу через компоненты с вкладки
Office2k, хочу через библиотеку типов сам. |
По моему это одно и тоже. И компоненты с закладки Office2k получены путем импорта библиотеки типов. |
|
pasha |
Отправлено: 20.05.2004, 14:20 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Разница в том, что я хочу сделать это руками,
с пониманием того что делаю, видя перед собой
библиотеку типов.
И дело не только в Excel.
Может хоть кто-нибудь показать как подключиться,
например к Graph (OfficeXP)
(C:\Program Files\Microsoft Office\Office10\Graph.exe)
Просто подключиться и сделать его видимым — все !!!
Получиться у кого ??? Очень сомневаюсь !
(Через библиотеку типов — Project | Import Type Library)
|
|
olegenty |
Отправлено: 21.05.2004, 14:36 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Так вот, мистер-любитель Excel через библиотеку типов. Твои вариант даёт именно Office2K классы, именно поэтому и возникает ошибка по "ехists"
Если ты при импорте руками изменишь все имена классов, то получишь ТОЧНУЮ КОПИЮ Office2k компонентов для Excel. (Так уверен, потому что делал это сам в молодости, примеры для ADO на BCB 4 (тогда стандартных компонентов для ADO не было) ещё где-то лежат, но уже не отеомпилятся, я думаю)
|
|
Admin |
Отправлено: 21.05.2004, 16:17 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE |
Может хоть кто-нибудь показать как подключиться к Graph (OfficeXP)
(C:\Program Files\Microsoft Office\Office10\Graph.exe)
Просто подключиться и сделать его видимым — все !!!
Получиться у кого ??? Очень сомневаюсь !
(Через библиотеку типов — Project | Import Type Library)
|
Ответа нет.
Итак, предлагаю попробовать.
Кто первый выложит здесь работающее решение на С++Builder,
(как было сказано — через библиотеку типов — Project | Import
Type Library, через дисп-интерфейс или по-другому, но
но не через CreateOleObject() ... OlePropertySet() ...,
получит в подарок книгу:
"Разработка Web-приложений на PHP и MySQL"
Веллинг Л., Томсон Л. c прилагаемым CD-диском
http://programming.taukita.ru/item14436772.html
Если Вы не зарегистрированный участник форума,
не забудьте указать в ответе Ваш email или иную форму
связи (если решение окажется работающим — для связи с Вами
куда отправить книгу).
Присоединить изображение
|
|
olegenty |
Отправлено: 22.05.2004, 09:55 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Пока не потянул. Импортировал библиотеку и установил как пакет. MS Graph 10. Беда в том, что не знаю мат части, а интерфейсов там импортировалось, как грязи. (А класс всего 1 — TGlobal)
|
|
Admin |
Отправлено: 22.05.2004, 18:02 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Согласен.
Могу предположить, что нужно будет использовать
интерфейсы IApplication, IChart,
работать возможно через disp-интерфейс _IGlobalDisp,
создав объект через Bind() но не уверен.
Excel работает с Graph без проблем, значит как-то можно.
Вот интересно — Microsoft так пропогандирует технологию COM,
дескать COM-объекты для того и нужны, но при этом отсутствует
документация на данные COM-объекты, и получается что
без соответствующей документации хваленый COM ничего
не стоит.
|
|
Asher |
Отправлено: 18.10.2005, 10:33 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
Если тема ещё интересна, то вот наткнулся на такой документ
How To Automate Excel From C++ Without Using MFC or #import
По ходу сразу с примером на COM.
Сразу предупреждаю — не пробовал.
Но может кому пригодится.
P.S.
Проверил.
Работает.
Сама дока по работе с объектами MS Excell лежит здесь ...\Office\1049
(хотя вроде бывает и в ...\Office\1033) и называется VBAXL9.CHM
Отредактировано Asher — 18/10/2005, 11:54
|
|