VBA压缩与解压缩几种方法的缩合对比

2017-09-09 17:24:00
zstmtony
原创
412

Vb,Access VBA ,Excel VBA实现压缩与解压缩总结出来有以下几种方法


作者:tmtony

来源:Access中国


1.通过Shell调用Winrar.exe 进行压缩和解压缩

2.通过VBA代码调用zip32.dll 及 unzip32.dll

3.VBA 代码调用pkzip.exe 及 pkunzip.exe

4.VBA 调用 info-zip免费控件

5.VBA 纯代码 使用 clsZip类模块来实现压缩与解压缩

6.VBA 调用shell.application fso来实现


通过几种方法对比

1.调用第三方exe组件的支持32位与64位,压缩与解压缩速度较快,兼容性较好,因为是通过Shell ,所以不区分32位与64位

2.调用zip 的dll 组件 保能在32位运行,因为这些Dll都是只支持32位Access数据库 (里面用到AddressOf DLLPrnt 不好修改,且zip32.dll本身就是32位 不好静态dll 也可能有其它可能,有时间再继续尝试)

3.clsZip类模块的方式应该可能同时支持32位与64位(需要修改所有declare 加上 ptrsafe关键字),但解压缩速度相对较慢,另需要文件未找到: msvbvm60.dll ,有些Windows 64位没有内置,需要添加这个

4.shell.application方式也支持32位与64位,解压速度也比较快,但有些精简版的XP系统由于删除了内置的zip功能而导致不成功

下图显示支持access 2010 64位

    分享