VBScript - 外部ライブラリ(7-Zip)を使って ZIP 圧縮する
VBScript - 外部ライブラリ(7-Zip)を使って ZIP 圧縮する
VBScript から zip 圧縮する方法を説明します。
Windows の標準機能(圧縮フォルダー)をスクリプトから利用するのはマイクロソフト非推奨なので、代わりに外部ライブラリ(7-Zip)を利用します。
事前準備
7-Zip は Windows で利用できる圧縮・解凍ソフトです。
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
まとめ
スクリプトからの圧縮フォルダーの利用は非推奨なので、ファイルやフォルダを圧縮するときは 7-Zip 等の外部ライブラリを利用しましょう。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
ことりと さんにチップを送りました
チップをありがとうございます。
メッセージは管理画面から確認できます。
酒とアクアリウムが最近の楽しみ。
このクリエイターの人気記事
最新記事
TOPVIEWの人気記事
おすすめの記事
この記事にコメントをしてみませんか?