В общем, я пытаюсь перенести данные из QTableView в подготовленный файл .docx, где буду использовать заполнитель для замены нужных мне данных.
На данный момент я остановился на добавлении новой строки в существующую таблицу в документе MS Word, но не могу понять синтаксис (при разных функциях пишет "Нет такого свойства в").
единственное, что работает правильно, — это получение количества таблиц в документе.
QAxObject *wApp = new QAxObject("Word.Application");
auto docs = wApp->querySubObject("Documents");
auto doc = docs->querySubObject("Open(QString)","C:\\pathToFile\\qwe.docx");
if (doc == nullptr) {
doc->dynamicCall("Close()");
wApp->dynamicCall("Quit()");
QMessageBox::information(this, "File opening", "File not found");
return;
}
auto active = wApp->querySubObject("ActiveDocument()");
auto tables = active->querySubObject("Tables");
qDebug() dynamicCall("Count()");
// doc->dynamicCall("Save()");
doc->dynamicCall("Close()");
wApp->dynamicCall("Quit()");
delete wApp;
Я также пытался получить количество строк в таблице, но выдает 0.
auto table = tables->querySubObject("Select(int)", 1);
qDebug() dynamicCall("Rows");
Примеры ошибок:
QAxBase::dynamicCallHelper: Table: No such property in {000209ff-0000-0000-c000-000000000046} [Microsoft Word Application]
Candidates are:
TaskPanes
Tasks
Templates
Top
QAxBase::dynamicCallHelper: Type(QString): No such property in [unknown]
Candidates are:
TableDirection
Tables
Title
TopPadding
Подробнее здесь: https://stackoverflow.com/questions/784 ... -using-qt5
Как добавить новую строку в существующую таблицу MS Word с помощью QT5? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение