Qt 对word的基本简单操作

编程入门 行业动态 更新时间:2024-10-10 02:14:54

Qt 对word的基本简单<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作"/>

Qt 对word的基本简单操作

环境windows 7,Qt版本5.7.0

1.在pro文件中添加 Qt += axcontainer;(Qt4版本添加Qt += qaxcontainer)

2.模版简历:新建一个word,设置书签,保存(将后缀名改成.dot)

3.工程链接:链接: 密码:aao8

4.具体代码:

.h

#ifndef MYWORD_H
#define MYWORD_H

/********************************************
*提供一个操作word的类
*该类具有以下功能:
*1.指定标签插入文字
*
*
*********************************************/


#include <QObject>
#include <QAxObject>
#include <QAxWidget>

class MyWord : public QObject
{
    Q_OBJECT
public:
    explicit MyWord(QObject *parent = 0);

private:
    QString m_fileName;//存入位置
    QAxWidget *m_pWord;
    QAxObject *m_pDocuments;
    QAxObject *m_pDocument;//

public:
    void createWordDocument();//创建word文档
    bool insertText(QString Tag, QString text);//往标签处插入文字
    void saveAndQuit(const QString &text);//保存文档并退出

signals:

public slots:
};

#endif // MYWORD_H
 

.

.cpp

#include "myword.h"
#include <QFileDialog>
#include <QDebug>MyWord::MyWord(QObject *parent) : QObject(parent)
{m_pWord = NULL;m_pDocuments = NULL;m_pDocument = NULL;
}void MyWord::createWordDocument()
{m_pWord = new QAxWidget("Word.Application");//新建一个word应用程序m_pWord->setProperty("Visible", false);//不显示窗体QAxObject *pDocuments = m_pWord->querySubObject("Documents");pDocuments->dynamicCall("Add(Qstring)", QString::fromLocal8Bit("C:/Users/chenpeng/Desktop/untitled.dot"));//模版目录m_pDocument = m_pWord->querySubObject("ActiveDocument");//获取当前激活的文档
}bool MyWord::insertText(QString Tag, QString text)
{if (m_pDocument->isNull()) return false;//首先判断有没有获取当前激活的文档,没有则返回失败QAxObject *pBookMarkCode = m_pDocument->querySubObject("Bookmarks(QVariant)", Tag);//获取指定标签if (pBookMarkCode){pBookMarkCode->dynamicCall("Selection");//选择该指定标签pBookMarkCode->querySubObject("Range")->setProperty("Text", text);//往标签处插入文字delete pBookMarkCode;return true;}return false;
}void MyWord::saveAndQuit(const QString &text)
{m_pDocument->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparators(text));//“/”换成“\”;否则在windows下保存不成功m_pDocument->dynamicCall("Colse(boolean)", true);//关闭m_pDocument->dynamicCall("Quit()");//退出
}

模版:

导出word:

 

更多推荐

Qt 对word的基本简单操作

本文发布于:2024-03-05 11:49:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1712220.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   简单   Qt   word

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!