2013-06-21 67 views
0

我正在嘗試使用activeQt寫入打開的文檔文檔。我正在嘗試激活我的Word文檔,但我不能讓它工作。ActiveQt:激活已打開的文檔

我可以在VBA做到這一點很容易:

Documents("my.doc").Activate 

但不是在Qt的,這是我曾嘗試:

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

文檔()應該包含所有打開的Word文件,但對我而言,由於某種原因它是空的。

+0

不應該有函數名('querySubObject( 「文檔(QString的)」, 「my.doc」)')的參數類型? – alexisdm

+0

我試過這個,但它仍然不能正常工作。 – user2508167

回答

0

我找到了我的問題的解決方案,通過使用帶有UUID字的setControl函數,我能夠訪問已打開的單詞文檔。

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