Qt随手笔记(五)vs+qt使用QAxObject读取word(内容、句子、段落、表格)

本文档详细介绍了如何在Visual Studio 2019中创建一个Qt Widgets Application项目,并利用Qt5和Word2016进行交互,实现打开、读取Word文档的功能。通过添加Qt库,设置头文件和依赖项,设计UI界面,以及编写相应的槽函数,实现了读取文档内容并显示在文本编辑器中的功能。同时,提供了获取文档的句子、段落和表格的方法,为文档处理提供便利。

一、配置环境
1、配置环境
本案例使用的vs2019、qt5.12.10和word2016
a) 使用vs2019新建一个QtWidgetsApplication项目
b)加载头文件和库
打开项目的属性
在这里插入图片描述

添加头文件目录
目录为qt安装路径中的Active
在这里插入图片描述
添加库目录
目录为qt安装路径下的lib
在这里插入图片描述
添加附加依赖项
Qt5AxContainerd.lib;Qt5Axbased.lib
在这里插入图片描述
二、设计ui界面
添加一个button按钮,objectName为pushButton
和一个textEdit控件,objectName为textEdit
在这里插入图片描述
点击保存
再点击窗体->查看代码
在这里插入图片描述
在弹出的窗口中,点击保存
在这里插入图片描述
然后关闭ui界面
右击项目,重新扫描解决方案,重新生成;在这里插入图片描述
三、项目代码如下
头文件:

#pragma once
#pragma execution_character_set("utf-8")

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication1.h"

//****************************************
//新添加头文件
#include <qfiledialog.h>
#include <QAxObject>
//****************************************



class QtWidgetsApplication1 : public QMainWindow
{
   
   
    Q_OBJECT

public:
    QtWidgetsApplication1(QWidget *parent = Q_NULLPTR);
    ~QtWidgetsApplication1();//添加析构函数
private:
    Ui::QtWidgetsApplication1Class ui;


//************************************************************
//以下为新添加
public slots:
    void pushButton();//添加槽函数

public:
    void OpenWord(QString& filename);     //打开word文档

    QString getLine(int start, int end);  //读取文档中第几个字到第几个字
    QString getAllText();                 //直接获取word中所有文本

    
    void getSentences();    //获取word中的所有句子
    void getParagraphs();   //获取word中的所有段落
    void readTables();      //获取word中所有表格

private:
    QAxObject* m_word;
    QAxObject* m_document;
    QAxObject* m_doc;

};

cpp文件

#include "QtWidgetsApplication1.h"




QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent)
    : QMainWindow(parent)
{
   
   
    ui.setupUi(this);

    //******************************************************************
    //添加按钮的信号与槽函数
    connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(pushButton()));
   
    //******************************************************************
    //新添加
    m_word = new QAxObject("Word.Application");       //启动word应用进程
    m_document = m_word->querySubObject
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值