![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Гость_Олег |
|
|||
|
Unregistered |
Где найти исходники импорта/экспорта текстов, таблиц и т.д. Word в/из С++.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Нигде
Мелкософты засекретили все свои форматы кроме самых примитивных (типа RTF), так что спрашивай у тех, кто пишет freeware-редакторы (типа AbiWord) -------------------- ![]() |
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
mr.DUDA, вопрос по-моему об автоматизации. Есть немного на www.firststeps.ru где-то в VC про автоматизацию MS Office. Но мой тебе совет, разберись в COM, как таковом, и делай потом сам.
|
|||
|
||||
| Ziga |
|
|||
|
Unregistered |
da, dlja nachalo viuchi COM. a potom cherez avtomatizaciju rabotaj s Word objektami. infu (sami objekti, kakije u njih funkciji, ispoljzujemije konstanti) po njim mozjes uznjatj iz hepla for Word. v Word 2000 eto v sekciji Programming Information. Chtobi sebe uprostitj zjiznj, v Word (takzje Excel) mozjno izpolzovatj takajuju fichu kak Record Macro. Mozjno jevo vkljuchitj, sdjelatj chto-to v ruchnuju, ostonovitj, a potom posmotretj sgjenjerirovannij Visual Basic code. etot kod potom mozjno perenjesti i v c++ i v object pascal.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Ну и раз решили делать ч/з OLE/COM, то в VC++ это делается совсем просто.
Создаешь приложение, в ClassWizard'e заходишь AddClass/From type library, указываешь на файл с расширением *.olb (*.dll, *.tlb) - для Word2000 это msword9.olb (лежит в папке с Office), для Excel2000 - excel9.olb и т.д., для общих ф-ций Office2000 - mso9.dll; в появившемся списке помечаешь, какие интерфейсы Office ты хочешь юзать (их функции будут полностью совпадать с методами классов VBA) - и получаешь файлик *.h, включив который в свой проект, ты можешь создавать и юзать врапперы (wrappers) COM-объектов автоматизации Office. Например, с пом. сгенерированного класса _Application можно создавать COM-объект "приложение Word":
и работать с ним так же, как ты бы это делал в VBA. Это сообщение отредактировал(а) mr.DUDA - 31.7.2003, 14:05 -------------------- ![]() |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Ziga |
|
|||
|
Unregistered |
mnje kazjesta chto takoi podhod budjet privjazan k konkretnoi versiji Word[?]
boleje generic podhod. schitatj class id iz HKEY_CLASSES_ROOT\Word.Application\CLSID potom poluchitj IDispatch* cherez CoCreateInstance, i potom rabotatj s njim. s VC++ osobo nje rabotal, no v C++Buildere potom mozjno napisatj IDispatch* pDispApp = NULL; .... Variant selection = Variant(pDispApp).Exec(PropertyGet("Selection")); selection.Exec(Function("InsertAfter") << "some insterted text"); .... v VC++ navernoje tozje jestj pohozjije na PropertyGet, Function, Exec wrappers. s takim podhodom njenado budjet header failov i budjet rabotatj s s tem Word kotori jestj na dannom kompjutere. |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Ziga, проблем не будет, проверял, откомпилированный код работает под все оффисы кроме 3.х
вот только если ты хочешь откорректировать код на машине с другим оффисом то придется хорошо потрудиться -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Гость_brb |
|
|||
|
Unregistered |
A vse zhe len' "moderatoru" spell-checker zapustit', a svoei gramotnosti netu... |
|||
|
||||
| Гость_brb |
|
|||
|
Unregistered |
zabyl popravit'... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Это что, в Борланде, или в Линуксе ? VC++ такой записи не понимает
-------------------- ![]() |
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Oфф топик
Ziga, пожалуйста, или пиши по-английски, или используй
Это сообщение отредактировал(а) RAN - 31.7.2003, 22:36 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |