作者:绿色风
分类:
时间:2022-08-18
浏览:147
楼主 杨开科 |
- Option Explicit
- Dim FileString
- Dim Source ' 源文件
- Dim Target ' 目标文件
- Dim Result
- Sub 压缩文件()
- FileString = "C:\Program Files\WinRAR\WinRAR.exe" 'WinRAR.exe文件路径
- Source = ThisWorkbook.Path & "\test.xls"
- Target = ThisWorkbook.Path & "\test.rar" '扩展名可以是RAR、ZIP、CAB、ARJ、LZH....
- FileString = FileString & " a " & "-ep " & Target & " " & Source
- 'MsgBox FileString
- Result = Shell(FileString, vbHide)
- End Sub
- Sub 解压缩文件()
- FileString = "C:\Program Files\WinRAR\WinRAR.exe"
- Source = ThisWorkbook.Path & "\test.rar"
- Target = ThisWorkbook.Path & "\new\" '指出解压文件添加的位置。如果文件夹不存在时,会自动创建。"
- 'FileString = FileString & " x " & Source & " " & Target'
- FileString = FileString & " x " & "-Y " & Source & " " & Target '指定-Y 开关,“是”为默认值,并自动回应全部的询问。
- Result = Shell(FileString, vbHide)
- End Sub
- 'WinRAR字母命令列表
- 'a 添加文件到压缩文件
- 'c 添加压缩文件注释
- 'd 从压缩文件删除文件
- 'e 从压缩文件解压压缩,忽略路径
- 'f 刷新压缩文件中的文件
- 'i 在压缩文件中查找字符串
- 'k 锁定压缩文件
- 'm 移动文件和文件夹到压缩文件
- 'r 修复受损的压缩文件
- 'rc 重建丢失的卷
- 'rn 重命名压缩文件
- 'rr[N] 添加数据恢复记录
- 'rv[N] 创建恢复卷
- 's[name] 转换压缩文件成为自解压文件类型
- 's -删除自解压模块
- 't 测试压缩文件
- 'u 从压缩文件中更新文件
- 'x 以完整路径名称从压缩文件解压压缩
- '开关: -EP - 从名字排除路径
- '开关: -Y - 对所有询问均回应为“是”
代码有些缺陷,主文件放在桌面、我的文档、C:\Program Files下运行时,无法压缩和解压缩文件,欢迎斧正! |
2楼 little-key |
Source = ThisWorkbook.Path & "\test.xls" 这句控制的是需要压缩文件的路径,可以根据实际修改啊。 |
3楼 HHAAMM |
ThisWorkbook.Path里要是存在空格的话Shell函数的参数就会混乱,所以不能有空格 |
4楼 HHAAMM |
这样 Sub 压缩文件()
FileString = "C:\Program Files\WinRAR\WinRAR.exe" 'WinRAR.exe文件路径
Source = ThisWorkbook.Path & "\test.xls" Target = ThisWorkbook.Path & "\test.rar" '扩展名可以是RAR、ZIP、CAB、ARJ、LZH....
FileString = FileString & " a -ep """ & Target & """ """ & Source & """"
MsgBox FileString
Result = Shell(FileString, vbHide)
End Sub |
5楼 杨开科 |
大悟,那用chr(34)也应该是可以的。 |
6楼 HHAAMM |
这样写看的清楚些,其实就是加上引号 FileString = FileString & " a -ep " & Chr(34) & Target & Chr(34) & " " & Chr(34) & Source & Chr(34) |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一