- pro 文件中要加入
CONFIG += qaxcontainer
2. main.cpp
#include <QApplication>
#include <QAxWidget>
#include <QAxObject>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QAxWidget *word=new QAxWidget("Word.Application", 0, Qt::MSWindowsOwnDC);
word->setProperty("Visible", true);
// 获取所有的工作文档
QAxObject * documents = word->querySubObject("Documents");
// 以文件template.doc为模版新建一个文档
documents->dynamicCall("Add(QString)",QString::fromLocal8Bit("D:/doc/template.doc"));
// 获取当前激活的文档
QAxObject *document=word->querySubObject("ActiveDocument");
// 获取文档中名字为text的标签
QAxObject*bookmark_text=document->querySubObject("Bookmarks(QVariant)","text");
// 选中标签,将字符InsertText插入到标签位置
if(!bookmark_text->isNull()){
bookmark_text->dynamicCall("Select(void)");
bookmark_text->querySubObject("Range")->setProperty("Text","InsertText");
}
// 将文件另存为docbyqt.doc,关闭工作文档,退出应用程序
document->dynamicCall("SaveAs (const QString&)", QString("D:/doc/docbyqt.doc"));
document->dynamicCall("Close (boolean)", false);
word->dynamicCall("Quit()");
return app.exec();
}