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のダウンロードは こちら です。