mfc创建一个word操作工程 【转自:http://blog.csdn.net/tg2003/article/details/4399981】
转自 http://www.cnblogs.com/zhangyin/archive/2007/03/04/663345.html
1.在VC中新建一控制台程序,选支持MFC(当然,你也可以不选择支持MFC的,不过会很麻烦)
2.按CTRL+W调出MFC ClassWizard,Add Class->From a type library,选择你的word的类型库(例如我的是word2003,安装在e盘,我的路径是"e:/edittools/microsoft office/office11/msword.olb"),选择完毕后,在弹出的窗口中选择要让classwizard生成的包装类,在本例中要用到 _Application,Documents,_Document,Range这四个类,选中他们后按OK
3.进入你的main函数所在的cpp文件,加入头文件引用
#include "msword.h" //引用刚才classwizard生成的idispatch包装类
4.加入代码
int _tmain( int argc, TCHAR * argv[], TCHAR * envp[]) { int nRetCode = 0 ; if ( ! AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0 )) { cerr << _T( " Fatal Error: MFC initialization failed " ) << endl; nRetCode = 1 ; } else { if (CoInitialize(NULL) != S_OK) { AfxMessageBox( " 初始化COM支持库失败! " ); return - 1 ; } _Application wordApp; Documents docs; _Document doc; Range aRange; COleVariant vTrue(( short )TRUE), vFalse(( short )FALSE), vOpt(( long )DISP_E_PARAMNOTFOUND, VT_ERROR); wordApp.CreateDispatch( " Word.Application " ,NULL); wordApp.SetVisible(FALSE); docs = wordApp.GetDocuments(); doc = docs.Open(COleVariant( " d://txt.doc "),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt); aRange = doc.Range(vOpt,vOpt); AfxMessageBox(aRange.GetText()); // 这里GetText得到的就是word文件的纯文本了,你可以将其写到txt文件中 doc.Close(vOpt,vOpt,vOpt); wordApp.Quit(vOpt,vOpt,vOpt); CoUninitialize(); } return nRetCode; }
转载于:https://www.cnblogs.com/songtzu/p/3374615.html
mfc创建一个word操作工程 【转自:http://blog.csdn.net/tg2003/article/details/4399981】相关推荐
- git创建使用1https://blog.csdn.net/Hanani_Jia/article/details/77950594
这篇文章是我自己写的关于GitHub的内容,从我刚听到这个直到设置成功每一步都有详细的步骤来解释,其中有一些截图或者代码来自于网上. 首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大 ...
- MFC显示位图 from http://blog.csdn.net/liuzhuomju/article/details/7299458
这些例子都在vs2005测试通过 一.最简单的一种1.将图像文件以资源形式加入工程中,IDB_BITMAP1 2.用一个PICTURE控件,在其属性中,将其Type设置为Bitmap 3.将Pitur ...
- wp7——sqlite数据库操作 from:http://blog.csdn.net/wp_lijin/article/details/7370790
wp7的数据库是个头痛的问题,因为它目前不支持数据库,当然,你也可以使用微软的收费数据库或者云端,或者独立存储,不过综合下,如果你要设计一个数据管理类软件,数据库是必不可少的,下面我介绍一下Sqlit ...
- Hive分区、分桶操作及其比较(转自:http://blog.csdn.net/epitomizelu/article/details/41911657)
1,Hive分区. 是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表 ...
- VMware虚拟机磁盘操作占用过高问题(转:http://blog.csdn.net/New_When/article/details/73731149)
使用虚拟机运行Linux图形桌面时,经常因为一个网页或者编译某个程序就导致虚拟机卡死,甚至影响主机使用.明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿.打开主机上的任务管理器查看发现磁 ...
- HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作
1. HDFS的java操作 hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件 1.1 ...
- 创建一个 dva 脚手架工程
2019独角兽企业重金招聘Python工程师标准>>> 1.2 dva 安装 使用 dva-cli 命令行工具安装 dva.(本文假设已掌握 npm 基础知识) 安装 dva-cli ...
- dbeaver连接mysql 驱动jar_用Intellij Idea创建一个普通的Java工程并用JDBC连接数据库...
演示:如何创建一个普通的Java工程,并导入MySql数据库的驱动包,用JDBC方式来连接数据库. Intellj Idea 先创建工程 1.打开Intellij Idea,创建Project,Fil ...
- 使用Qt创建一个C语言工程
使用Qt创建一个C语言工程 第一步:点击new按钮:或者在左边,点击右键选择新建项目:或者点击文件,选择新建项目 方式一 方式二 方式三 第二步:在弹出的对话框中选择Non-Qt Project和Pl ...
最新文章
- IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上)...
- NAR:中科院微生物所发布全球模式微生物基因组测序计划进展
- 在windows 2008下不同域活动目录迁移(ADMT3.1)
- 彻底搞懂JavaScript执行机制
- 天翼云从业认证(4.1)上云迁移实战
- listview侧滑删除
- 了解自定义对象创建:JSON绑定概述系列
- 实践分享丨物联网操作系统中的任务管理
- 浅谈股价预测模型:全能大明星——神经网络模型
- ESP8266WiFi模块实现代码
- C# 使用Aspose.Word将Word书签的数据进行替换 包含打印
- 华为新机预装鸿蒙,华为后续新机直接预装鸿蒙OS:Mate 40 Pro 4G版或首发
- 软著申请模板,帮助了不少小伙伴少走弯路
- 抽象类和具体类的区别
- CorelDRAW x8警告您所用的软件疑似非法盗版软件,软件功能3天内将被永久停用,解决方法教程
- 微信小程录制视频上传服务器,微信小程序-从相册获取图片,视频使用相机拍照,录像上传+服务器nodejs版接收-微信小程序视频上传功能-微信小程序视频上传...
- java web分享ppt大纲 -- servlet容器简介
- 处理器(CPU)结构
- 基于Vue和SpringBoot的电商管理系统的设计与实现
- oracle列分区,Oracle数据库分区--实例
热门文章
- JS template string 神奇术
- JS Event事件
- 你必须掌握足够的知识来明确如何拥有自己的观点。同时,也要培养把自己的观点付诸现实的能力。...
- asp.net中通过html格式导出excel文件
- 如何判断文本文件的编码格式?
- redis3.0.3 安装与配置
- DATAGUARD 三种保护模式
- [INS-08109] Unexpected error occurred while validating inputs at state 'getOCMDetails'.
- Java 对象的序列化和反序列化
- android 打包时报错解决