Я пытаюсь написать документ с открытым словом, используя activeQt. Я пытаюсь активировать документ Word, но не могу заставить его работать.
Я могу сделать это в VBA очень легко:
Documents("my.doc").Activate
но не в Qt, вот что я пробовал:
wordApplication = new QAxObject("Word.Application");
doc = wordApplication->querySubObject("Documents()","my.doc");
doc->dynamicCall("Activate()");
Documents () должен содержать все открытые документы, но для меня он почему-то пуст.
Я нашел решение своей проблемы, используя функцию setControl с UUID для слова, и я смог получить доступ к уже открытому документу word.
QAxObject* wordApplication; QAxObject* doc; wordApplication = new QAxObject(this); wordApplication->setControl(("{000209FF-0000-0000-C000-000000000046}&")); doc = wordApplication->querySubObject("Documents()","my.doc");
Других решений пока нет …