Shellを利用し、WindowsXP、Vistaでファイル圧縮を行います。
例では、”C:\test.txt” を”C:\test.zip” に圧縮しています。
Option Explicit
MakeZip "C:\test.txt", "C:\test.zip"
Sub MakeZip(STR_TargetFile ,STR_SaveFile)
Dim OBJ_FSO
Dim OBJ_ZIP
Dim OBJ_Shell
Dim ARR_Hex
Dim STR_Temp
Dim i
Set OBJ_FSO = CreateObject("Scripting.FileSystemObject")
ARR_Hex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(ARR_Hex)
STR_Temp = STR_Temp & Chr(ARR_Hex(i))
Next
Set OBJ_Zip = OBJ_FSO.CreateTextFile(STR_SaveFile, True)
OBJ_Zip.Write STR_Temp
OBJ_Zip.Close
Set OBJ_Shell = CreateObject("Shell.Application")
OBJ_Shell.NameSpace(STR_SaveFile).CopyHere(STR_TargetFile)
WScript.Sleep 3000
Set OBJ_Shell = Nothing
End Sub
Scriptのダウンロードは こちら です。