Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2017, 10:55   #1
MNSerg
 
Регистрация: 06.02.2017
Сообщений: 4
Восклицание Очистка doc в qt через QActive/QAxObject

Нужно открыть файл doc/docx и записать туда новый текст, удалив все старое содержимое документа.
Открываю и записываю так, но текст только добавляется к содержимому:
QAxObject *word;
QAxObject *doc;
word->setProperty("Visible", true);
doc=word->querySubObject("Documents");
doc->dynamicCall("Open(QString)", "C:\\document.doc");
QAxObject*docA=word->querySubObject("ActiveDocument") ;

QAxObject* Range = docA->querySubObject("Range()");
Range->querySubObject("InsertAfter(Text)" ,"текст");
MNSerg вне форума Ответить с цитированием
Старый 27.02.2017, 11:38   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Ну наверно надо не InsertAfter делать...
Поищите либо какой-нибудь replace или delete/remove/erase...
waleri вне форума Ответить с цитированием
Старый 27.02.2017, 11:43   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Открываю и записываю так, но текст только добавляется к содержимому:
Так вы сами же напимали:
Код:
Range->querySubObject("InsertAfter(Text)" ,"текст");
вставить после текста...
p51x на форуме Ответить с цитированием
Старый 27.02.2017, 12:15   #4
MNSerg
 
Регистрация: 06.02.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так вы сами же напимали:
Так суть как раз в том, что нигде не могу найти иного способа записать информацию в док, нигде не встречал другиъ вариаций, поэтому и спрашиваю тут.)
MNSerg вне форума Ответить с цитированием
Старый 27.02.2017, 12:49   #5
MNSerg
 
Регистрация: 06.02.2017
Сообщений: 4
По умолчанию

Всем спасибо, нашел нужную функцию:
Range->dynamicCall("InsertParagraph()") ;
MNSerg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работая с Word через COM-OLE, можно ли запустить макрос из Normal.dot либо из самого .DOC? DBEER Microsoft Office Word 5 27.05.2015 11:43
Создание через с# Word документ (.doc/.docx) Adyvan C# (си шарп) 8 14.06.2011 20:44
преобразовать doc в txt не через OLE furstenberg Компоненты Delphi 0 12.11.2008 14:44