1、你先搞懂 winrar.exe 的解压参数格式,然后把winrar.exe和相关文件加入到资源文件中,然后调用 资源文件中的winrar.exe
为盐津等地区用户提供了全套网页设计制作服务,及盐津网站建设行业解决方案。主营业务为成都网站建设、网站制作、盐津网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
2、弄明白rar/zip文件解压/压缩方法和格式,自己写程序 (可能会比较麻烦)
调用shell、已安装的WinRar解压文件。Shell "C:\Program Files\WinRar\Winrar.exe " "命令行参数"命令行语法 从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:WinRAR 命令 -开关1 -开关N 压缩文件 文件... @列表文件... 解压路径\命令要 WinRAR 运行的字符组合代表功能开关切换操作指定类型,压缩强度,压缩文件类型,等等的定义。 压缩文件要处理的压缩文件名。文件要处理的文件名。列表文件列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用 //字符后添加注释。例如,你可以包含两列字符串创建 backup.lst: c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片c:\work\misc并接着运行: winrar a backup @backup.lst你可以在命令行中同时指定普通的文件名和列表文件名。 解压路径只与命令 e 和 x ,搭配使用。指出解压文件添加的位置。如果文件夹不存在时,会自动创建。
注意事项a) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 *.* 运行全部的文件;b) 如果未指定压缩文件扩展名时,WinRAR 将会使用在 压缩配置 中选定的默认压缩文件格式。但你可以指定 .RAR 或 .ZIP 扩展名来替换它们 ;c) 在命令行所输入的开关会替换相同的配置设置值 ;d) 在命令 c 、e、s、t、rr、k 和 x 可在压缩文件名中使用通配符。如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果你指定 -r 开关于这些命令时,它们将会搜索在子文件夹中的压缩文件 ;e) 某些命令和开关只应用在 RAR 压缩文件,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩文件格式。这一些都得看压缩文件格式所提供的特性而定 ;f) 命令和开关的大小写是相同意思的,你可以用大写或者小写来下命令均可。
其实无需调用DLL,现在只要系统中安装了WinRAR,其安装目录自带了压缩和解压软件:Rar.exe、UnRAR.exe,使用VB的shell调用这两个软件即可,WinRAR支持的格式非常多,不用自己再去造轮子了,下面是简单的示例代码:
注:如果不想安装WinRAR,那就到已安装WinRAR的电脑中将拷贝到你的某个路径中再调用吧
'将C盘根目录中的mydoc.docx文件,压缩成根目录下的mydoc.rar文件
'使用rar.exe,调用格式:rar.exe a 目标压缩包文件 源文件
Private Sub Command1_Click()
Call Shell("C:\Program Files\WinRAR\rar.exe a c:\mydoc.rar c:\mydoc.docx", vbHide)
End Sub
'将C盘根目录下的mydoc.rar压缩包中的文件,解压到D盘一个目录中
'使用unrar.exe,调用格式:unrar.exe x 源压缩包文件 目标路径
Private Sub Command2_Click()
Call Shell("C:\Program Files\WinRAR\unrar.exe x c:\mydoc.rar d:\temp", vbHide)
End Sub
1、你先搞懂 winrar.exe 的解压参数格式,然后把winrar.exe和相关文件加入到资源文件中,然后调用 资源文件中的winrar.exe
2、弄明白rar/zip文件解压/压缩方法和格式,自己写程序 (可能会比较麻烦)
如果机器安装有winRar软件,就可以通过shell来借用他的功能达到压缩文件的效果;
参考代码如下:
Dim DeliveryF As String = Server.MapPath("..\Temp\DeliveryFactors.xls") '原始文件 (压缩前)
Dim TruckInfo As String = Server.MapPath("..\Temp\TruckInformation.xls")
Dim QDetail As String = Server.MapPath("..\Temp\QuotationDetail.xls")
'用shell命令调用winrar.exe创建压缩文件()
Dim winRarexe As String = "C:\Program Files\WinRAR\Rar" 'winzip 执行文件的位置
Dim wtarget As String = "C:\temp\QuotationVAComparsion.zip" '目地文件 (压缩后)
Dim command As String = winRarexe " a " wtarget " " DeliveryF " " TruckInfo " " QDetail
'这个命令你可以查看winrar的命令集
Dim retval As Double 'Shell 指令传回值
retval = Shell(command, AppWinStyle.MinimizedFocus)