Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт текстов в Word 
:(
    Опции темы
Гость_Олег
Дата 29.7.2003, 10:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Где найти исходники импорта/экспорта текстов, таблиц и т.д. Word в/из С++.
  Вверх
mr.DUDA
Дата 29.7.2003, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Нигде

Мелкософты засекретили все свои форматы кроме самых примитивных (типа RTF), так что спрашивай у тех, кто пишет freeware-редакторы (типа AbiWord)


--------------------
user posted image
PM MAIL WWW   Вверх
RAN
Дата 29.7.2003, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



mr.DUDA, вопрос по-моему об автоматизации. Есть немного на www.firststeps.ru где-то в VC про автоматизацию MS Office. Но мой тебе совет, разберись в COM, как таковом, и делай потом сам.
PM MAIL ICQ   Вверх
Ziga
Дата 31.7.2003, 13:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 31.7.2003, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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":
Код
#include "msword9.h"
_Application app;
app.CreateDispatch("Word.Application");

и работать с ним так же, как ты бы это делал в VBA.

Это сообщение отредактировал(а) mr.DUDA - 31.7.2003, 14:05


--------------------
user posted image
PM MAIL WWW   Вверх
Step
Дата 31.7.2003, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Ну и раз решили делать ч/з 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":
CODE
#include "msword9.h"
_Application app;
app.CreateDispatch("Word.Application");

и работать с ним так же, как ты бы это делал в VBA.
в примерах есть проект элемента управления для работы с екселем... посмотри может поможет...


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Ziga
Дата 31.7.2003, 14:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 31.7.2003, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Ziga, проблем не будет, проверял, откомпилированный код работает под все оффисы кроме 3.х
вот только если ты хочешь откорректировать код на машине с другим оффисом то придется хорошо потрудиться


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Гость_brb
Дата 31.7.2003, 15:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Ziga, проблем не будет, проверял, откомпилированный код работает под все оффисы кромме 3.х
вот только если ты хочешь откоректировать код на машине с другим оффиссом, то придется хорошо потрудиться

A vse zhe len' "moderatoru" spell-checker zapustit', a svoei gramotnosti netu... notify.gif
  Вверх
Гость_brb
Дата 31.7.2003, 15:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
откорPектировать

zabyl popravit'...
  Вверх
mr.DUDA
Дата 31.7.2003, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Это что, в Борланде, или в Линуксе ? VC++ такой записи не понимает
Код
Variant selection = Variant(pDispApp).Exec(PropertyGet("Selection"));
selection.Exec(Function("InsertAfter") << "some insterted text");



--------------------
user posted image
PM MAIL WWW   Вверх
RAN
Дата 31.7.2003, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



Oфф топик

Ziga, пожалуйста, или пиши по-английски, или используй
Цитата
Сервис:
Проверить длину
Translit -> Russian


Это сообщение отредактировал(а) RAN - 31.7.2003, 22:36
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.