VBA调用RAR软件进行文件的压缩和解压
(2013-01-28 15:13:00)
标签:
压缩解压缩 |
分类: excel-vba |
'妙用VBA调用RAR软件进行文件的压缩和解压
'作者:轩辕轼轲 博文日期: 2012-12-20 07:31:50
分类: VBA编程
'其实整个过程就是利用WinRAR的压缩命令来完成,而在VBA中利用Shell函数来运行这个命令,具体介绍如下:
'一?Shell函数
'
Shell函数是VB中的内部函数,它负责执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的进程ID,若不成功,则会返回0。
'
(PS:这个函数也可以在VBA中使用。)
'
Shell的语法是:Shell(PathName[,WindowStyle])。
'
PathName:为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。
'
WindowStyle:为可选参数。Integer类型,指定在程序运行时窗口的样式。WindowStyle有以下这些值。
'
'
常量值 描述
'
VbHide 0
窗口被隐藏,且焦点会移到隐式窗口。
'
VbNormalFocus 1
窗口具有焦点,且会还原到它原来的大小和位置。
'
VbMinimizedFocus 2
窗口会以一个具有焦点的图标来显示(缺省值)。
'
VbMaximizedFocus 3
窗口是一个具有焦点的最大化窗口。
'
VbNormalNoFocus 4
窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
'
VbMinimizedNoFocus 6
窗口会以一个图标来显示,而当前活动的窗口仍然保持活动。
'二?关于WinRar的用法
'
'
WINRAR A [-switches] [Files] [@Filelists]
'
例如你想把try.mdb压缩到C盘下,可以WINRAR A C:\try.rar
C:\try.mdb
'
WINRAR X [-switches] [Files] [@Filelists]
[destionationfolder]
'
如果在当前目录解压缩,即解压缩时不写目录名
'
WINRAR E [-switches] [Files] [@Filelists]
[destionationfolder]
'
例如你想把try.rar解压缩到C盘下,可以WINRAR X C:\try.rar
C:\try.mdb
'三?一个例子
'
'
在VBA中新建一个模块,在模块中添加两个子程序压缩文件和解压缩文件。
'
压缩文件子程序是把文件try.mdb压缩成try.rar?
'
解压的过程类似,解压缩文件子过程是把try.rar解压生成try.mdb。
'
在执行了上面的压缩过程后,可以删除文件try.mdb,来解压缩重新生成try.mdb。
前一篇:vba函数--mid函数
后一篇:多工作表汇总自定义