1. pro 文件中要加入

CONFIG += qaxcontainer

2. main.cpp

  1. #include <QApplication>
  2. #include <QAxWidget>
  3. #include <QAxObject>
  4. int main(int argc, char* argv[])
  5. {
  6. QApplication app(argc, argv);
  7. QAxWidget *word=new QAxWidget("Word.Application", 0, Qt::MSWindowsOwnDC);
  8. word->setProperty("Visible", true);
  9. // 获取所有的工作文档
  10. QAxObject * documents = word->querySubObject("Documents");
  11. // 以文件template.doc为模版新建一个文档
  12. documents->dynamicCall("Add(QString)",QString::fromLocal8Bit("D:/doc/template.doc"));
  13. // 获取当前激活的文档
  14. QAxObject *document=word->querySubObject("ActiveDocument");
  15. // 获取文档中名字为text的标签
  16. QAxObject*bookmark_text=document->querySubObject("Bookmarks(QVariant)","text");
  17. // 选中标签,将字符InsertText插入到标签位置
  18. if(!bookmark_text->isNull()){
  19. bookmark_text->dynamicCall("Select(void)");
  20. bookmark_text->querySubObject("Range")->setProperty("Text","InsertText");
  21. }
  22. // 将文件另存为docbyqt.doc,关闭工作文档,退出应用程序
  23. document->dynamicCall("SaveAs (const QString&)", QString("D:/doc/docbyqt.doc"));
  24. document->dynamicCall("Close (boolean)", false);
  25. word->dynamicCall("Quit()");
  26. return app.exec();
  27. }

http://blog.csdn.net/zbc415766331/article/details/36396159

网上关于qt操作word的资料实在是太少了,搞了半天终于能在word 表格中插入标签的地方插入图片了。

1.在pro中加入

CONFIG   += qaxcontainer

2.main.cpp

  1. #include <QApplication>
  2. #include <QAxWidget>
  3. #include <QAxObject>
  4. int main(int argc, char* argv[])
  5. {
  6. QApplication app(argc, argv);
  7. QAxWidget *word=new QAxWidget("Word.Application", 0, Qt::MSWindowsOwnDC);
  8. word->setProperty("Visible", true);
  9. // 获取所有的工作文档
  10. QAxObject * documents = word->querySubObject("Documents");
  11. // 以文件template.doc为模版新建一个文档
  12. documents->dynamicCall("Add(QString)",QString::fromLocal8Bit("D:/doc/template.doc"));
  13. // 获取当前激活的文档
  14. QAxObject *document=word->querySubObject("ActiveDocument");
  15. // 获取文档中名字为text的标签
  16. QAxObject*bookmark_text=document->querySubObject("Bookmarks(QVariant)","text");
  17. // 选中标签,将字符InsertText插入到标签位置
  18. if(!bookmark_text->isNull()){
  19. bookmark_text->dynamicCall("Select(void)");
  20. bookmark_text->querySubObject("Range")->setProperty("Text","InsertText");
  21. }
  22. // 获取文档中名字为pic的标签
  23. QAxObject*bookmark_pic=document->querySubObject("Bookmarks(QVariant)","pic");
  24. // 选中标签,将图片插入到标签位置
  25. if(!bookmark_pic->isNull())
  26. {
  27. bookmark_pic->dynamicCall("Select(void)");
  28. QAxObject *range;
  29. range = bookmark_pic->querySubObject("Range");
  30. QVariant tmp = range->asVariant();
  31. QList<QVariant>qList;
  32. qList<<QVariant("D:/1.png");
  33. qList<<QVariant(false);
  34. qList<<QVariant(true);
  35. qList<<tmp;
  36. QAxObject *Inlineshapes = document->querySubObject("InlineShapes");
  37. Inlineshapes->dynamicCall("AddPicture(const QString&, QVariant, QVariant ,QVariant)",qList);
  38. }
  39. // 将文件另存为docbyqt.doc,关闭工作文档,退出应用程序
  40. document->dynamicCall("SaveAs (const QString&)", QString("D:/doc/docbyqt.doc"));
  41. document->dynamicCall("Close (boolean)", false);
  42. word->dynamicCall("Quit()");
  43. return app.exec();
  44. }

addpicture 微软官方注解:http://msdn.microsoft.com/en-us/library/office/aa171535(v=office.11).aspx

http://blog.csdn.net/zbc415766331/article/details/36659993

HRESULT r;
r = CoInitialize(0);
// r =CoInitializeEx(0, COINIT_MULTITHREADED);
// m_word = new QAxWidget("Word.Application", widget, Qt::MSWindowsOwnDC );
m_word = new QAxObject("Word.Application" );
if( m_word == NULL ) return true;
//m_word->setProperty("Visible", false); //设置为隐藏
QAxObject * documents = m_word->querySubObject("Documents"); //获取所有工作的文档

http://www.qtcn.org/bbs/read-htm-tid-60802.html

Qt 向word中插入文字(使用QAxWidget和QAxObject)的更多相关文章

  1. C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  2. [转]C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  3. 怎样在Word中插入代码并保持代码原始样式不变

    怎样在Word中插入代码并保持样式不变 我们有时候需要在word中添加一段我们写的代码,但是把代码粘贴到word文档中之后就发现所有的代码的样子都变了,我们可以采用下边的方法来实现保持代码原来的样式和 ...

  4. 使用EndNote在Word中插入参考文献的格式设置

    endnote其实自带了很多参考文献格式的样式,如下图,但往往跟我们要使用的会有所出入,本文主要介绍的就是设置自定义endnote参考文献格式,以endnote X6和word2003为例,其它版本以 ...

  5. word中插入myth type公式行距变大的问题

    在写文章时,我遇到了在word中插入myth type公式时,行距明显变大的问题,我通过改变段落中的行距没有解决问题,在网上查了一下,找到一些解决方法,仅供参考. 解决办法

  6. 不用MathType, 如何在Mac Word中插入公式

    不用MathType, 如何在Mac Word中插入公式 找了好久都找不到MathType的破解版,不得不使用免费清爽的MarkDown编辑工具Typora_for_Mac. 我是很喜欢Typora的 ...

  7. 计算机_软件技巧_01_优雅地再word中插入代码

    二.参考资料 1.如何优雅的在 Microsoft word中插入代码

  8. java向word中插入Excel附件

    1.word中插入对象的原理 编辑word,向word中插入图片.EXCEL.WORD等附件,再将word保存为xml格式,通过XML查看工具打开xml格式的word的源码,通过对比源码, 可以发现平 ...

  9. 教你一招:Word中的文字转换成表格,把表格转换成文字

    在使用office软件时,常常会在Word中加入表格,这时候我们一般想到的是,建立表格,然后一格一格的填写;或者用Excel表格制作在复制到Word文档中.其实在Word中就可以将文本文档转换成电子表 ...

随机推荐

  1. BZOJ 1009: [HNOI2008]GT考试( dp + 矩阵快速幂 + kmp )

    写了一个早上...就因为把长度为m的也算进去了... dp(i, j)表示准考证号前i个字符匹配了不吉利数字前j个的方案数. kmp预处理, 然后对于j进行枚举, 对数字0~9也枚举算出f(i, j) ...

  2. django-template-loader

    当在settings.py中设置了如下 TEMPLATE_LOADERS=( 'django.template.loaders.filesystem.Loader', 'django.template ...

  3. HDU4707:Pet(DFS)

    Problem Description One day, Lin Ji wake up in the morning and found that his pethamster escaped. He ...

  4. hdu 2546 饭卡 01背包

    先将前n-1个从小到大排序.对m-5进行01背包.然后答案就是m-dp[m-5]-a[n-1] 至于为什么最后减去最贵的菜品,而不是把最贵的菜品也放到01背包里呢, 由于假设能够把最贵菜品a[n-1] ...

  5. IOS系统对fixed定位支持不好的解决方法

    问题: IOS 中所有浏览器,当页面上的输入框获得焦点时,呼出键盘. 页面底部的导航栏(position:fixed)会被键盘顶到页面的中间. 而当输入框失去焦点时,导航栏停留在页面中间,造成页面错乱 ...

  6. Java基础07 包

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经写了一些Java程序.之前的每个Java程序都被保存为一个文件,比如Tes ...

  7. MySql连接问题

    今天想通过命令连接到另外一台主机的Mysql 命令: mysql -h ip -u username -p EnterPassWord: password 连接成功

  8. ASP.NET Core Authorization

    ASP.NET Core Authorization 本文目录 Asp.net Core 对于授权的改动很友好,非常的灵活,本文以MVC为主,当然如果说webapi或者其他的分布式解决方案授权,也容易 ...

  9. Qt中Ui名字空间以及setupUi函数的原理和实现

    用最新的QtCreator选择GUI的应用会产生含有如下文件的工程 下面就简单分析下各部分的功能. .pro文件是供qmake使用的文件,不是本文的重点[不过其实也很简单的],在此不多赘述. 所以呢, ...

  10. js中使用jstl中得到的值

    jstl的标签会转化为服务器端的代码执行,而js代码则在客户端执行.        要在js中使用jstl并不是直接将jstl的value赋值给一个js的变量,而是要在jstl的value上加上&qu ...