社区
ATL
帖子详情
VC/MFC中如何获取外部的Word关闭事件
西笑生
人工智能领域优质创作者
2010-04-30 07:36:21
VC/MFC中如何获取外部的Word关闭事件。
MSDN中有个关于获取Word97关闭事件,该示例代码能够获取Word2003以上版本?
希望对该示例做一个代码说明.
...全文
391
5
打赏
收藏
VC/MFC中如何获取外部的Word关闭事件
VC/MFC中如何获取外部的Word关闭事件。 MSDN中有个关于获取Word97关闭事件,该示例代码能够获取Word2003以上版本? 希望对该示例做一个代码说明.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
西笑生
2010-06-11
打赏
举报
回复
具体这个DLL应怎样写呢?
蒋晟
2010-05-01
打赏
举报
回复
捕获Quit事件
http://msdn.microsoft.com/en-us/library/bb239860.aspx
尹成
2010-05-01
打赏
举报
回复
对啊,建议你写个DLL注入到WORD进程里,然后子类化WORD窗口,再处理WM_CLOSE消息。
zwfgdlc
2010-04-30
打赏
举报
回复
建议你写个DLL注入到WORD进程里,然后子类化WORD窗口,再处理WM_CLOSE消息.
mcaok
2010-04-30
打赏
举报
回复
试一下就知道了。
VC
6使用
word
2003生成报表的示例
摘要:当用户需要对报表需要重新编辑的时候,用Excel或者
Word
生成报表就会比XML或者HTML的方式更加合理。但是由于
Word
的组件在使用时候要导入很多类,如果直接加在工程
中
会使其看上去很乱,所以封装到DLL
中
是个不错的主意。本文在前人经验指导下对一些常用的操作做了简单的封装,功能由从DLL
中
导出类C
Word
Operate提供。 关键字:
Word
2003,
MFC
扩展DLL,报表,C
Word
Operate 一、 鉴于www.
vc
kbase.com
中
已经有文章对
vc
使用
word
生成报表方式做详细的论述,这里不准备对此赘述。仅仅介绍封装类C
Word
Operate
中
的函数和DLL的使用。#include "ms
word
.h"class AFX_EXT_CLASS C
Word
Operate {public: C
Word
Operate(); virtual ~C
Word
Operate(); BOOL Create
Word
App(BOOL bShow); // 创建一个
word
应用程序 void DeleteApp(); // 用后,删除 void ShowApp(BOOL bShow); // 显示,或者隐藏 void QuitApp(); //
关闭
外部
打开的
word
应用程序 BOOL NewDoc(CString tpName); // 根据模板创建文档 void SaveDoc(CString Filename); // 保存文档到文件路径 void TypeText(CString Text); // 在当前位置输入文字 void SetTextAlign(int val); // 设置文字对齐方式 void SetTextColor(COLORREF cr); // 设置文本颜色 void AddPic(CString FileName); // 在当前位置插入图片文件 void RunMacro(CString macroName); // 运行一个宏 void AddTable(int nRow, int nCol); // 加一个几行几列的表格 void AddTable(int nRow, int nCol, int autoFit); // 加一个几行几列的表格,列宽度自动 void SelectTable(int i); // 选择当前文档
中
的第i个表格 void MoveToTableNext(int iTable); // 把选择区指向表格后面 void SetCellText(int iTable, int iRow, int iCol, CString text); // 设置第i个表格
中
的某行某列的文字 void SetTableTextVAlign(int iTable, int val); // 置第i个表格
中
文字对齐方式 void SetColWidth(int iTable, int iCol, float width); // 设置列宽度 void SetRowHeight(int iTable, int iRow, float height); // 设置行高度 // 合并两个单元格之间的区域 void MergeCell(int iTable, int cell1Row, int cell1Col, int cell2Row, int cell2Col, CString text); // 设置单元格文本颜色 void SetCellTextColor(int iTable, int iRow, int iCol, COLORREF cr); // 设置单元格背景颜色 void SetCellColor(int iTable, int iRow, int iCol, COLORREF crCell); // 设置单元格边框的四周风格, void SetCellBorderStyle(int iTale, int iRow, int iCol, int sTop, int sLeft, int sBottom, int sRight); // 设置两个单元格之间的区域,边框的四周风格, void SetCellsBorderStyle(int iTable, int iRow1, int iCol1, int iRow2, int iCol2,int sTop, int sLeft, int sBottom, int sRight); // 设置两个单元格之间的区域,背景颜色 void SetCellsColor(int iTable, int iRow1, int iCol1, int iRow2, int iCol2, COLORREF crCell); CString ToString(); protected: _Application app; // 应用程序 Selection sel; // 用来存放获得的选择范围 _Document saveDoc; // 当前活动文档 COleVariant vTrue; // 常量TRUE COleVariant vFalse; COleVariant vOpt;};二、使用DLL
中
导出类的方法:#include "
Word
Operate.h"#pragma comment(lib, "
word
Dll.lib")在类
中
定义成员: C
Word
Operate
word
File;使用示例:// 创建文件 CString str;COLORREF crCell = RGB(240, 240, 240);char buffer[255];
word
File.Create
Word
App(TRUE);GetCurrentDirectory(254, buffer);strcat(buffer, "\\tp.doc");
word
File.NewDoc(buffer); // 表格使用
word
File.AddTable(8, 11);
word
File.SelectTable(1);
word
File.MergeCell(iTable, 1, 6, 1, 8, "频域数据");crCell = RGB(255, 0, 0);
word
File.SetCellColor(iTable, 3, 2, crCell);
word
File.MoveToTableNext(1);// 写文字
word
File.TypeText("二. 分析图:\r\n");// 插入图片GetCurrentDirectory(254, buffer);strcat(buffer, "\\chart.jpg");
word
File.AddPic(buffer);// 保存文件,删除对象GetCurrentDirectory(254, buffer);strcat(buffer, "\\测试报表.doc");
word
File.SaveDoc(buffer);
word
File.DeleteApp();// 也可以在删除对象前先
关闭
程序
word
File.QuitApp();三、使用压缩包的测试程序,按钮二能提供的效果如下图:图一
Word
报表效果屏幕截图四、说明:开发环境为:
vc
6 + sp6 + xp_sdk
Word
版本:2003企业版压缩包说明:
word
Dll为库的代码,TestDll为使用示例,宏.txt是格式化段落的宏附加:如果想知道函数
中
使用的值应该为多少,可以在
Word
操作的时候录制宏,然后使用单步调试的方式得到想要的值。注:本着开源的精神,把这个使用过的类和大家分享,希望大家有用,如果有错误的地方,希望指正,谢谢
VC
/
MFC
编程技巧大总结
1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改。 2
VC
++
中
WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息。 3 Java学习书推荐:《java编程思想》 4 在
VC
下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE...
用
VC
#.NET+OpenGL开发交互式CAD系统
本课程用
VC
#.NET结合OpenGL,从无到有开发一个功能较完整的小型交互式CAD系统。作者有交互式CAD系统、动态几何系统开发经验。出版过交互式CAD系统开发方面的图书。课程先讲准备知识,然后讲整个系统的开发思路和主要技术,最后将整个系统分成8个版本,从最简单的绘图开始,逐步添加功能,循序渐进地进行讲解。知识点讲解细致,系统。课程的核心在于源代码,学习每章内容之前,请先下载本章源码。建议先自行对源码进行阅读分析,然后带着问题去听课,这样学习效率比较高,效果比较好一些。课程最终提供的内容和服务:PPT+源码+视频讲解+持续升级/****课程第一节课为免费课,演示了系统的主要功能。可以用手机或电脑观看。如果无法观看,请私信我。谢谢!*****/友情提醒:凭订单信息可找平台客服开具发票。购买系列课程提供打包价,购买讲师卡更划算。
MFC
/
VC
++调用
word
进行报表制作
MFC
/
VC
++调用
word
进行报表制作 使用
word
进行数据报告的制作可谓非常方便,
word
具有非常强大的编辑、排版功能。使用
word
能够制作出内容丰富、样式精美的报告。我们在工作
中
当然会有报表报告的需求,如果能够在
MFC
/
VC
++里面能够调用
word
进行
word
格式报告的自动生成,岂不是一件非常惬意的事情。 我在工作当
中
需要对大量的数据或者各种测试数据进行统计分析,最终的统
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [
VC
/
MFC
基础类] 40 ylongwu 05-21 20:486 ylongwu06-28 13:42管理√为什么我创建登陆框之后,然后
获取
登陆框的数据时候总是出现非法操作! [
VC
/
MFC
界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [
VC
/
MFC
基础类] 100 wysbk002 05-22
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章