【问题标题】:ActiveQt: Activate an already open word documentActiveQt:激活已经打开的 Word 文档
【发布时间】:2013-06-21 08:17:56
【问题描述】:

我正在尝试使用 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 文档,但对我来说,由于某种原因它是空的。

【问题讨论】:

  • 函数名中不应该有参数类型(querySubObject("Documents(QString)", "my.doc"))吗?
  • 我试过了,但还是不行。

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


【解决方案1】:

我找到了我的问题的解决方案,通过使用带有 UUID for word 的 setControl 函数,我能够访问已经打开的 word 文档。

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

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2021-10-25
    相关资源
    最近更新 更多