VBScript から zip 圧縮する方法を説明します。
事前準備
7-Zip にはインストール不要で使えるコンソール版があります。
コンソール版をダウンロードして適当なフォルダに解凍しておきます。
7-Zipのウェブサイト → 圧縮・解凍ソフト 7-Zip
今回の例では C:\tools フォルダに実行ファイルを置きました。
zip 圧縮の手順
7-Zip のコマンドを Shell オブジェクトから実行するだけで、ファイルやフォルダを圧縮できます。
コマンドは以下の書式となっています。
7za.exe <命令> <圧縮ファイル名> <圧縮したいファイル名>コマンドの詳細は以下を参照してください。
- 7-Zip の解説ページ(インストールしないでzipや7z圧縮ファイルを作る方法 | 7-Zip)
- 7za.exe を引数なしで実行したときに表示される Usage
次のコードは、7-Zip を使って「C:\path\to\compress.xlsx」を圧縮し「C:\zip_test\test.zip」とするサンプルです。
Option Explicit 'コマンドを生成 Dim command command = """C:\tools\7za.exe"" a -tzip ""C:\zip_test\test.zip"" ""C:\path\to\compress.xlsx""" 'コマンドを実行 Dim exec Set exec = CreateObject("WScript.Shell").Exec(command) 'コマンド終了まで待機 Do While exec.Status = 0 WScript.Sleep 100 Loop