1. 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)。


在头文件中包含QAxWidget和QAxObject。

  1. 操作步骤:

    A  新建一个word文档,内容如下:

    B  选中项目编码下的一个单元格,点击上面菜单栏中的
    ”插入à书签”,添加如下书签:

  2. 新建项目(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
盘中的运行结果:

2.QT中操作word文档的更多相关文章

  1. c#中操作word文档-四、对象模型

    转自:http://blog.csdn.net/ruby97/article/details/7406806 Word对象模型  (.Net Perspective) 本文主要针对在Visual St ...

  2. c#中操作word文档-一、模板方式写入

    转载自:http://blog.csdn.net/fujie724/article/details/5443322 适合模板写入 今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和 ...

  3. c#中操作word文档-三、MSDN文档

    这是关于word读写的MSDN内容,基本所有的方法都可以在这上面找到 https://msdn.microsoft.com/zh-cn/library/office/ff837519.aspx

  4. C# 中使用Word文档对图像进行操作

    C# 中使用Word文档对图像进行操作 Download Files: ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操 ...

  5. Java文件操作系列[3]——使用jacob操作word文档

    Java对word文档的操作需要通过第三方组件实现,例如jacob.iText.POI和java2word等.jacob组件的功能最强大,可以操作word,Excel等格式的文件.该组件调用的的是操作 ...

  6. 如何在程序中给word文档加上标和下标

    如何在程序中给word文档加上标和下标 上标或下标是一个小于普通行格式的数字,图形,标志或者指示通常它的设置与行相比偏上或偏下.下标通常显示于或者低于基准线,而上标则高于.上标和下标通常被用于表达公式 ...

  7. iText操作word文档总结

    操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...

  8. C#操作Word文档(加密、解密、对应书签插入分页符)

    原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...

  9. 在Delphi中处理word文档与数据库的互联 1

    在Delphi中处理word文档与数据库的互联 ---- 目前,Delphi被越来越多的人选中作为MIS系统开发中的前台工具.在以Delphi为前台,一些大型数据库为后台的MIS系统中,图形的处理不可 ...

随机推荐

  1. UDA机器学习基础—异常值-安然数据处理

    #!/usr/bin/python import pickle import sys import matplotlib.pyplot sys.path.append("../tools/& ...

  2. glusterfs 4.0.1 rpc 分析笔记1

    Jimmy的文档:Glusterfs的rpc模块分析 第一节.rpc服务器端实现原理及代码分析 第二节.rpc客户端实现原理及代码分析 第三节.rpc通信过程分析 经过阅读源码对比之前提及的文档,我个 ...

  3. Docker学习笔记【三】安装Redis

    项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...

  4. docker管理工具

    Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作.Swarm集群和服 ...

  5. 剑指架构师系列-MySQL调优

    介绍MySQL的调优手段,主要包括慢日志查询分析与Explain查询分析SQL执行计划 1.MySQL优化 1.慢日志查询分析 首先需要对慢日志进行一些设置,如下: SHOW VARIABLES LI ...

  6. 初始化mysql数据库——Activiti BPM

    package com.initialize; import org.activiti.engine.ProcessEngine; import org.activiti.engine.Process ...

  7. swing JTable

    JTable 实例 import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayo ...

  8. Docker外部访问容器

    容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射. 当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放 ...

  9. Jmeter(十七)_驱动浏览器做GUI测试

    jmeter不光可以完成性能测试.接口测试,现在也可以依靠WebDriver来完成GUI的功能自动化测试了,是不是很神奇? 1:下载JMeterPlugins-WebDriver-1.3.1.zip, ...

  10. Jmeter(二十)_Mock接口

    首先解释一下什么是mock接口. Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互.而这些Mock对象的行为是我们事先设定且符合预期.通过这些Mock对象来测试对象在正常逻辑,异 ...