VBA:圧縮ファイルの一括解凍(Lhaplusを使う場合)
ここではフォルダに保存された複数の圧縮ファイルを、「Lhaplus」を使って一括で解凍して保存先フォルダに解凍する方法について説明していきます。
◆圧縮ファイルの一括解凍
以下を実行すると、「圧縮データフォルダ」に保存されている圧縮ファイルで、「Lhaplus」で解凍可能なファイル全てを解凍し、「解凍先フォルダ」に保存します。
※解凍されるファイルはLhaplusで指定した圧縮形式すべてです。
例:zipとcabがある場合は、初期設定のままでも両方が解凍されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Private Sub ファイル解凍_Click() Dim WSH As Object Dim Lhaplus実行ファイル As String Dim 圧縮データフォルダ As String Dim 解凍先フォルダ As String Set WSH = CreateObject("WScript.Shell") Lhaplus実行ファイル = "C:\Program Files (x86)\Lhaplus\Lhaplus.exe" 圧縮データフォルダ = "C:\Users\圧縮データ"'①' 解凍先フォルダ = "C:\Users\解凍先" WSH.Run Chr(34) & Lhaplus実行ファイル & Chr(34) & " /o:" & Chr(34) & 解凍先フォルダ & Chr(34) & " " & Chr(34) & 圧縮データフォルダ & Chr(34), , True Set WSH = Nothing MsgBox "完了" End Sub |
Lhaplusについて
Lhaplus(ラプラス)は外部 DLL 不要の圧縮解凍ソフトで、無料でダウンロードして使える定番のソフトです。
「窓の杜」や「Vector」からダウンロードできます。
◆一つのファイル名だけ解凍する場合
特定のファイル名のものだけ解凍したい場合、上記コード部分の「①」部分にファイル名を指定すると、対象のファイルだけ解凍できます。
例:以下の「ファイル1.zip」のようにファイル名を追加するだけです。
1 2 |
'圧縮データフォルダ = "C:\Users\圧縮データ"' 圧縮データフォルダ = "C:\Users\圧縮データ\ファイル1.zip" |