ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ldhyob

[原创]XLS捆绑成动态EXE一例

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-11-24 09:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用ldhyob在2003-11-23 17:58:00的发言: ■ldhyob 2003.11 把XLS文件封装成EXE文件,曾在论坛及其他地方见过,通过这种封装,能使开发出来的VBA程序显得非常专业,这是许多VBA爱好者追求的目标之一。但是,大多数生成的EXE文件仅仅是对某一XLS文档的封装演示,并不能保存用户对XLS数据的更改,也就是说当EXE把XLS文档打开后,当用户修改或编辑其中部分数据后关闭退出,然后再重新打开EXE,发现XLS数据并未发生任何改变.这是与我们封装代码的初衷是相违背的,我们必须要实现能接受XLS数据更改的EXE动态捆绑,只有这样,VBA FOR EXCEL的封装才会有意义.此例乃笔者将XLS捆绑成动态EXE的一个尝试. 曾在论坛上发过一张帖子:《我的EXCEL宏文档打开程序》,内容就是用VB6编制EXE主调程序,利用OLE方法对外部XLS进行打开操作.这个例子一定程度上对VBA进行了封装,如:加入了软件启动封面、跳过了宏提示等.但是这种封装的缺点是明显的,就是XLS文档作为外部文件单独存放,既增加了封装成品的文件个数,也使文档的VBA缺少代码保护,即便通过一些常规及非常规方法对文档进行口令保护或"工程不可查看",但因XLS文件在用户面前暴露无遗而极不保险. 基于以上,若将XLS隐匿于EXE中,并且能实现XLS数据的动态更新,将是一件快事!下面笔者将自己尝试的实现原理及思路简要说一下(仅仅是思路,具体做法不赘述),希望能给大家起到抛砖引玉的作用. 实现原理:利用VB的OLE调用与文件二进制读写(通道技术). 实现思路:总的目标就是将VB编译生成的EXE文件头与XLS数据部分捆绑结合,并在XLS关闭时能使EXE数据部分得以更新。 1、VB工程部分:用顶层窗体制作封面;对EXE(即自身)XLS数据进行读取并将其写入一定文件夹然后OLE打开它;借助时钟控件适时关闭封面窗体及退出EXE(此时XLS已经正常打开完毕了,完成VB与EXCEL的无缝连接)。 2、VBA部分:对EXCEL菜单与工具栏、图标进行自定义设置;在工作薄退出事件中增加代码,将XLS内容重新写入EXE中。 3、利用DOS的二进制COPY命令将VB的EXE部分与VBA的XLS部分结合成新的EXE文件。 这种动态EXE文件就制作完成了,它的优点是明显的:拥有自定义的图标作为EXE文件图标,拥有自定义的软件加载封面,拥有更改XLS数据的特性,而偏偏不“拥有”烦人的宏提示!!!缺点主要就是如果文档体积过于庞大,运行速度会有一定影响。 例子XLS部分还是沿用了《我的EXCEL宏文档打开程序》中文档,下载体验一下吧,若有BUG请告知,因为并未认真测试,谢谢!
[此贴子已经被作者于2003-11-23 20:35:15编辑过]
能否给代码看看?版主?

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:05 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
支持!版主公开一下,让我们也提高提高

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:19 | 显示全部楼层
怎样实现“利用DOS的二进制COPY命令将VB的EXE部分与VBA的XLS部分结合成新的EXE文件”

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
I want to know.

TA的精华主题

TA的得分主题

发表于 2003-11-24 10:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2003-11-24 11:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
大胆给点小意见,在确认退出之后application.visible=false,可以更好点!

TA的精华主题

TA的得分主题

发表于 2003-11-24 11:22 | 显示全部楼层
我也想知道源代码,虽然我不太会VB6。斑主是我的偶像,太厉害了

TA的精华主题

TA的得分主题

发表于 2003-11-24 12:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
版主你好! 能否告知源代码? hjjshl6908@126.com
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-4 15:24 , Processed in 0.043288 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表