标签:style blog http ar io color os 使用 sp
Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成:
A QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。
B QAxServer模块允许我们导出使用Qt编写的自定义的COM对象和Active控件。
C 在这里,我们使用了QAxContainer模块,所以在.pro中,需要使用下面这一项来链接这个QAxContainer模块:CONFIG+=qaxcontainer(注意:在QT5.3中使用的是:QT += widgets gui axcontainer)。
D 在头文件中包含QAxWidget和QAxObject。
操作步骤:
A 新建一个word文档,内容如下:
B 选中项目编码下的一个单元格,点击上面菜单栏中的 ”插入à书签”,添加如下书签:
新建项目(ActiveQt)进行测试
ActiveQt.pro |
SOURCES += \ main.cpp
QT += widgets gui axcontainer |
main.cpp |
#include <QApplication>
#include <QAxObject>
#include <QAxWidget>
/**
* Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成:
* QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。
* QAxServer模块允许我们导出使用Qt编写的自定义的COM对象和Active控件。
* 在这里,我们使用了QAxContainer模块,所以在.pro中,需要使用下面这一项来链接这个QAxContainer模块:
* CONFIG+=qaxcontainer(注意:在QT5.3中使用的是:QT += widgets gui axcontainer)。
* 在头文件中包含QAxWidget和QAxObject。
* 操作word的步骤:
*/
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
//新建一个word应用程序
QAxWidget *word = new QAxWidget("Word.Application",0,Qt::MSWindowsOwnDC);
//并设置为可见
word->setProperty("Visible",true);
//获取所有的工作文档
QAxObject *documents = word->querySubObject("Documents");
//以template.dot为模板新建一个文档
documents->dynamicCall("Add(QString)",QString::fromLocal8Bit("E:/template.dot"));
//获取当前激活的文档
QAxObject *document = word->querySubObject("ActiveDocument");
//获取文档中名字为code的标签
QAxObject *bookmark_code = document->querySubObject("Bookmarks(QVariant)","code");
//选中标签,将字符textg插入到标签位置
if(!bookmark_code->isNull())
{
bookmark_code->dynamicCall("Select(void)");
bookmark_code->querySubObject("Range")->setProperty("Text","textg");
}
//将文件保存为template.docx,同样可以生成doc文档
document->dynamicCall("SaveAs (const QString&)",QString("E:/template.docx"));
document->dynamicCall("Close (boolean)",false);
word->dynamicCall("Quit()");
return app.exec();
}
|
E 盘中的运行结果:
|
标签:style blog http ar io color os 使用 sp
原文地址:http://blog.csdn.net/tototuzuoquan/article/details/42001923