VC编程来操纵Office
使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。
一、概念
Microsoft 的 Office 产品中,都提供了OLE Automation 自动化程序的接口。如果你使用VB,VBA 和 Script 脚本调用 Office 功能的话,其实比使用 VC 调用要简单的多。比如在 WORD 中,调出菜单“工具(T)宏(M)录制新宏(R)”,这时候它开始记录你在 WORD 中任何菜单和键盘的操作,把你的操作过程保存起来,以便再次重复调用。而保存这些操作的记录,其实就是使用了 VBA 程序(Visual Basic for Application)。而我们下面要实现的功能,也同样要参考 VBA 的方法。
二、结构层次
为了更有逻辑,更有层次地操作 Office,Microsoft 把应用(Application)按逻辑功能划分为如下的树形结构
Application(WORD 为例,只列出一部分)
Documents(所有的文档)
Document(一个文档)
......
Templates(所有模板)
Template(一个模板)
......
只有了解了逻辑层次,我们才能正确的操纵 Office。举例来讲,如果给出一个VBScript语句是:
application.ActiveDocument.SaveAs "c:abc.doc"
(2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,例子程序也是在VC6 下编写测试的)
Office 版本和类型 | 类型库文件 | Office 版本和类型 | 类型库文件 |
Access 97 | Msacc8.olb | PowerPoint 2000 | Msppt9.olb |
Jet Database 3.5 | DAO350.dll | Word 2000 | Msword9.olb |
Binder 97 | Msbdr8.olb | Access 2002 | Msacc.olb |
Excel 97 | Excel8.olb | Excel 2002 | Excel.exe |
Graph 97 | Graph8.olb | Graph 2002 | Graph.exe |
Office 97 | Mso97.dll | Office 2002 | MSO.dll |
Outlook 97 | Msoutl97.olb | Outlook 2002 | MSOutl.olb |
PowerPoint 97 | Msppt8.olb | PowerPoint 2002 | MSPpt.olb |
Word 97 | Msword8.olb | Word 2002 | MSWord.olb |
Access 2000 | Msacc9.olb | Office Access 2003 | Msacc.olb |
Jet Database 3.51 | DAO360.dll | Office Excel 2003 | Excel.exe |
Binder 2000 | Msbdr9.olb | Graph 2003 | Graph.exe |
Excel 2000 | Excel9.olb | Office 2003 | MSO.dll |
Graph 2000 | Graph9.olb | Office Outlook 2003 | MSOutl.olb |
Office 2000 | Mso9.dll | Office PowerPoint 2003 | MSPpt.olb |
Outlook 2000 | Msoutl9.olb | Office Word 2003 | MSWord.olb |
(4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,你也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。
(7)好了,现在开始写程序吧。另外要说明的是,步骤3和4,其实也可以使用 #import 方式引入类型库。
ActiveDocument.SaveAs FileName:="Hello.doc", FileFormat:=wdFormatDocument _
, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
特别提示一:编译执行前,一定要先关闭 KV 实时监视病毒的功能(KV 的程序会干扰我们的调用,瑞星的则没关系)。
特别提示二:在例子程序中,为了表现程序的关键部分,没有或很少使用了条件判断。为了实现你程序的健壮性,请自己加上条件判断和异常处理。
Step1:如何启动和关闭 WORD,及 VARIANT 的最基本的使用方法
Step2:和 Step1 同样功能,用 CComVariant 改进了 VARIANT 的使用方式
Step3:在 Step2 的基础上,新建一个 WORD 文档,并从程序中传送一些字符到 WORD
以上这6个小程序中,都有详细的注释。大家阅读后慢慢体会并实验,你就可以自由地操纵任何一个 Office 啦。
VC编程来操纵Office相关推荐
- 用python语言实现人工智能猴子摘香蕉的问题_人工智能实验报告大全:猴子摘香蕉问题的VC编程实现等八次.docx...
人工智能课内实验报告(8次)学 院: 自动化学院 班 级: 智能1501 姓 名: 刘少鹏(34) 学 号: 目 录课内实验1:猴子摘香蕉问题的VC编程实现--------1课内实验2:编程实现简单动 ...
- VC编程实现IE风格的界面
使用过IE浏览器的朋友都知道IE界面上的扁平工具条.地址栏,扁平工具栏上的按钮正常状态下为扁平态,按钮上的图像为灰色,当鼠标放在按钮上时,按钮突 起(这种状态称为手柄),并且其上的图像变得鲜艳醒目,一 ...
- VC++编程中的文件操作API和CFile类
VC++编程中的文件操作API和CFile类 在VC编程中,操作文件的方法主要有两种:利用API函数和MFC的CFile类.微软在其中封装了文件的一般操作,下面我就介绍一下如何利用这两种方法实现文件操 ...
- VC编程操作Word2010生成表格
VC编程操作Word2010生成表格 1. 右键单击工程节点,然后选择添加类,如下图: 2. 添加TypeLib中的MFC类,如下图: 3. 选择文件,打开MSWORD.OLB, word2010的在 ...
- vc++ 编程 经典电子书
完整版目录都在这里了:http://www.cctry.com/forum-46-1.html C.C++ 语言: 一个月挑战C++ http://www.cctry.com/thread-778-1 ...
- 大量C语言、C++、C#、VC编程相关书籍下载
大量C语言.C++.C#.VC编程相关书籍下载 http://www.juntuan.net/dh/CYYdowmload.htm C语言 C语言编程宝典大全 C语言实例教程 1.72 C语言程序基础 ...
- 《实用VC编程之玩转控件》第1课:Windows编程简介
本文转载自: VC驿站 https://www.cctry.com/thread-297374-1-1.html 0.开发环境: 操作系统:Microsoft Windows 7 Ultimate S ...
- VC编程工具的灵活使用实验报告
<数据结构>实验一: VC编程工具的灵活使用 一..实验目的 复习巩固VC编程环境的使用,以及C++模板设计. 1.回顾并掌握VC单文件结构程序设计过程. 2.回顾并掌握VC多文 ...
- VC编程实现色彩空间RGB与XYZ相互转换
VC编程实现色彩空间RGB与XYZ相互转换 使 用过PhotoShop软件的朋友对色彩空间应该不会感到陌生,在PhotoShop中经常使用有RGB(红色.绿色.蓝色).CMYK(青色.洋红.黄 色.黑 ...
- 用python语言实现人工智能猴子摘香蕉的问题_人工智能实验报告大全:猴子摘香蕉问题的VC编程实现等八次 -...
人工智能课内实验报告 (8次) 学 院:自动化学院 班 级: 智能1501 姓 名: 刘少鹏(34) 学 号:06153034 目 录 课内实验1:猴子摘香蕉问题的VC编程实现????????1 课内 ...
最新文章
- java 正则 捕获_Java通过正则表达式捕获组中的文本
- 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)
- python pandas dataframe 转json_python将相类不同key的json对象转化为pandas的dataframe(上篇)...
- 四种方式下创建线程启动的区别
- 巧用 Protobuf 反射来优化代码,拒做 PB Boy
- OpenVINO主要工作流程
- 流量和延迟减半!挑战 TiDB 跨数据中心难题
- 黄聪:Loopup集合类笔记
- 3D视觉创新方案分享:仓储VSLAM/商品三维重建/静态场景重建/表情识别等多个方向...
- 4.7 Observer(观察者)
- 车控APP发现安全隐患,研究人员模拟黑客入侵
- 深入学习smali语法
- 使用hector构图_如何使用均衡的构图拍摄更清晰的照片
- C++动态数组类模板
- 小米商城前端页面(静态)
- 单元格内容分列多行_excel拆分单元格内容 excel单元格拆分多行
- windows屏幕亮度调节失灵的解决方法
- linux arm关闭光栅,基于Linux的光栅检测系统的软件设计与实现.pdf
- [转]AP,mAP计算
- 钉钉 api 的 Nginx 代理配置
热门文章
- python 移动文件或文件夹操作
- 先进的分销管理系统(ADMS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- MySQL分组求和GROUP BY
- 时延波束形成 matlab,有关波束形成程序解释
- 刚开始接触编程也能轻松写的计算器代码(VS2019)(c语言)
- ENSP实验五——三层交换机+二层交换机
- 毕业论文编辑器软件制作经历与思考1
- stm32f030移植到stm32f072
- 5G+北斗高精度定位系统适用于哪些行业领域?
- 2016中国app年度排行榜:十大行业、25个领域、Top 500 和2017趋势预测