可以参考rar帮助,压缩所有txt文件 到Songs.RAR WINRAR A -S Songs.RAR *.txt 以前做过类似的,给你参考下: '************************************************************************* '**函 数 名:xmlToZip '**输 入:IniFilePath(String) -ini配置文件路径(得到winRAR文件目录路径,安装WinRaR软件后的目录) '** :zipFile(String) -压缩后生成的文件路径及文件名称 '** :xmlSource(String) -需要压缩的文件名 '** :ZipInfoFile(String) -需要添加注释的文件 '** :Optional IsDelSource(Boolean) -是否需要删除源文件(true-保留,false-删除)'************************************************************************* Private Sub xmlToZip(objFileSystem As Scripting.FileSystemObject, IniFilePath As String, zipFile As String, xmlSource As String, _ ZipInfoFile As String, Optional IsDelSource As Boolean) On Error GoTo ToExit '打开错误陷阱 '------------------------------------------------ 'On Error GoTo Err_Handle Dim wzipexe As String ' winzip 执行文件的位置 Dim wsource As String ' 原始文件 (压缩前) Dim wtarget As String ' 目地文件 (压缩后) Dim wcmd As String ' Shell 指令 Dim retval As Double ' Shell 指令传回值 'wzipexe = "C:\Program Files\WinRAR\WinRAR" ' winzip 执行文件的位置 wzipexe = Trim(ReadINIFile(IniFilePath, "INTERFACE FLODER", "WINRAR TOOLPATH")) If Not objFileSystem.FileExists(wzipexe) Then 'winzip 执行文件的位置不正确! Exit Sub End If wtarget = zipFile ' 目地文件 (压缩后) wsource = xmlSource ' 原始文件 (压缩前) wcmd = wzipexe & " a -ep1 " & wtarget & " " & wsource retval = Shell(wcmd, vbHide) If ZipInfoFile <> "" Then wcmd = wzipexe & " c -z" & ZipInfoFile & " " & wtarget retval = Shell(wcmd, vbHide) End If If Not IsDelSource Then objFileSystem.DeleteFile (xmlSource) End If '------------------------------------------------ Exit Sub '---------------- ToExit: Resume Next End Sub
以前做过类似的,给你参考下:
'*************************************************************************
'**函 数 名:xmlToZip
'**输 入:IniFilePath(String) -ini配置文件路径(得到winRAR文件目录路径,安装WinRaR软件后的目录)
'** :zipFile(String) -压缩后生成的文件路径及文件名称
'** :xmlSource(String) -需要压缩的文件名
'** :ZipInfoFile(String) -需要添加注释的文件
'** :Optional IsDelSource(Boolean) -是否需要删除源文件(true-保留,false-删除)'*************************************************************************
Private Sub xmlToZip(objFileSystem As Scripting.FileSystemObject, IniFilePath As String, zipFile As String, xmlSource As String, _
ZipInfoFile As String, Optional IsDelSource As Boolean)
On Error GoTo ToExit '打开错误陷阱
'------------------------------------------------
'On Error GoTo Err_Handle
Dim wzipexe As String ' winzip 执行文件的位置
Dim wsource As String ' 原始文件 (压缩前)
Dim wtarget As String ' 目地文件 (压缩后)
Dim wcmd As String ' Shell 指令
Dim retval As Double ' Shell 指令传回值
'wzipexe = "C:\Program Files\WinRAR\WinRAR" ' winzip 执行文件的位置
wzipexe = Trim(ReadINIFile(IniFilePath, "INTERFACE FLODER", "WINRAR TOOLPATH"))
If Not objFileSystem.FileExists(wzipexe) Then
'winzip 执行文件的位置不正确!
Exit Sub
End If
wtarget = zipFile ' 目地文件 (压缩后)
wsource = xmlSource ' 原始文件 (压缩前) wcmd = wzipexe & " a -ep1 " & wtarget & " " & wsource
retval = Shell(wcmd, vbHide) If ZipInfoFile <> "" Then
wcmd = wzipexe & " c -z" & ZipInfoFile & " " & wtarget
retval = Shell(wcmd, vbHide)
End If If Not IsDelSource Then
objFileSystem.DeleteFile (xmlSource)
End If
'------------------------------------------------
Exit Sub
'----------------
ToExit:
Resume Next
End Sub