ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4572|回复: 13

[原创] 文件压缩与解压完整代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-11-13 16:42 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:其他编程应用
本帖最后由 ljw990485 于 2011-11-13 17:18 编辑

本帖申请加为精华和技术分等
示例内有文件压缩与解压类
ClassZip的完整代码,若想用到你自己的代码中,自己去导出。

要想用实验,先拷贝一个文件放在C:\,改名为1,再分别执行压缩和解压过程,压缩后的文件为2,从文件2解压生成的文件为3,比较一下,文件1与文件3是否完全一致?

特别声明:本压缩解压类代码源代码为俄罗斯人所写的VB代码,本人将之修改为能在VBA环境中运行的代码。此程序的压缩率没有专业压缩软件高,但程序不依赖任何外部程序,故程序是可控的。

经典应用:
巧用剪切板导出包对象内的文件


把某些文件(比如组件/控件、word文档)压缩后放在Excel工作簿里面的包对象里面,一旦发现用户计算机没有安装这些组件、或删除了这些word文档,就从包内程序导出再解压出來,确保你的程序继续运行,提高程序的健壮性


当然,更好的方法是从内存里面直接解压,本人已经实现。


压缩与解压Example.rar

34.93 KB, 下载次数: 282

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-13 16:57 | 显示全部楼层
自己顶一下

TA的精华主题

TA的得分主题

发表于 2011-11-13 17:01 | 显示全部楼层
本帖最后由 Moneky 于 2011-11-13 17:08 编辑

收藏+顶一下,将来可能用得着。谢谢楼主分享!
刚刚试了一下,可以正确压缩和解压。但有一个地方可以改进。目前代码在压缩和解压前,都会不管三七二十一的去删除目标文件,这样很危险,其实可以考虑在那一句加一个提示性语句,或者自动重命名的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-13 17:10 | 显示全部楼层
本帖最后由 ljw990485 于 2011-11-13 18:08 编辑
Moneky 发表于 2011-11-13 17:01
收藏+顶一下,将来可能用得着。谢谢楼主分享!
刚刚试了一下,可以正确压缩和解压。但有一个地方可以改进。 ...

这个没什么问题,自己在压缩或解压前写代码判断就是了

作为一个压缩解压代码,只是执行相应的操作,没必要搞那么多其它的东西,这种也是OOP编程思想的原则

TA的精华主题

TA的得分主题

发表于 2011-11-13 17:27 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-13 21:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
那么多人看,不少人下载,回复不多

看来高难度技术贴,看懂的人不多

TA的精华主题

TA的得分主题

发表于 2011-11-14 02:10 | 显示全部楼层
本帖最后由 baomaboy 于 2011-11-14 19:17 编辑

谢谢分享,那个俄罗斯人好牛x,楼主给vb给转vba辛苦了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-16 23:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-16 23:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
貌似很不错 留脚印先

TA的精华主题

TA的得分主题

发表于 2011-11-17 14:24 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-28 03:24 , Processed in 0.036432 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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