学习资源:《Excel VBA从入门到进阶》第50集 by兰色幻想
本节介绍如何使用VBA进行文件的压缩和解压缩。
一、shell函数
进行文件的压缩和解压缩需要调用压缩软件,所以这里需要用到Shell函数。
Shell函数执行一个可执行文件,返回一个 Variant (Double)。如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。
Shell("可执行程序的路径 文件名或命令行",窗口的显示方式)
注意:"可执行程序的路径 文件名或命令行" 中间的空格不可省略。
窗口的显示方式有以下几种:
例:用绘图程序打开图片。(绘图程序mspaint.exe)
Sub 用绘图程序打开图片()
Dim mysh
mysh = Shell("mspaint.exe " & ThisWorkbook.Path & "pic.jpg", vbMaximizedFocus)
End Sub
本节主要学习命令行的编写。
二、WinRar命令行的表示
WinRar程序路径 命令 开关1 开关2 开关3..开关N 压缩包路径 压缩的文件路径
命令是指要进行怎么样的操作,如A是压缩,X是解压缩。
开关是具体操作时的细节,如压缩是是否把原文件删除,是否添加密码等。
详细可以到WinRAR的帮助文件——命令行模式——命令,可以查看到WinRAR所有可使用的命令和参数,本节可选了几个比较常用的出来讲解。
****************************************************************************************
获取rar的安装路径:
①写一个function获取路径
Function GetSetupPath(AppName As String)
Dim WSH As Object
Set WSH = CreateObject("Wscript.Shell")
GetSetupPath = WSH.RegRead("HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionApp Paths" & AppName & "Path")
Set WSH = Nothing
End Function
②在立即窗口显示rar的安装路径
Sub 测试()
Debug.Print GetSetupPath("Winrar.exe")
End Sub
****************************************************************************************
(1)压缩单个文件
Sub RarFile()
D