ActiveQt:激活已打开的Word文档

时间:2013-06-21 08:17:56

标签: c++ qt ms-word activeqt qaxobject

我正在尝试使用activeQt写入一个打开的word文档。我正在尝试激活我的word文档,但我无法让它工作。

我可以很容易地在VBA中这样做:

Documents("my.doc").Activate

但不是在Qt中,这是我尝试过的:

wordApplication = new QAxObject("Word.Application");
doc = wordApplication->querySubObject("Documents()","my.doc");
doc->dynamicCall("Activate()");

Documents()应该包含所有打开的word文档,但对我来说,由于某种原因它是空的。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法,通过使用带有UUID的setControl函数,我可以访问已打开的word文档。

 QAxObject* wordApplication;
 QAxObject* doc;
 wordApplication = new QAxObject(this);
 wordApplication->setControl(("{000209FF-0000-0000-C000-000000000046}&"));
 doc = wordApplication->querySubObject("Documents()","my.doc");