【VBA】ZIP(圧縮)ファイルを自動的に展開(解凍)する方法-PowerShellコマンド-

1月 29, 2023

【VBA】ZIPファイルを自動的に展開(解凍)する方法 PowerShellコマンド

ExcelVBAやAccessVBAでZIP(圧縮)ファイルを自動的に展開(解凍)したい人向けに書いています。

本記事の内容

・VBA(マクロ)でZIP(圧縮)ファイルを自動的に展開(解凍)する方法

VBA(マクロ)で自動的にZIPファイルを解凍したいと思っていませんか?
自動的にZIPファイルを解凍する方法を紹介します。

 

ZIP(圧縮)ファイルを自動的に展開(解凍)する方法

以下がZIPファイルを自動的に展開(解凍)するプログラムです。

  1. '*****************************************
  2. '* Zipファイル展開
  3. '*****************************************
  4. Sub UNZIP()
  5.     
  6.     Dim psCommand As String 'PowerShellのコマンドレット組み立て
  7.     Dim wsh As Object 'Shellオブジェクト
  8.     Dim result As Integer 'PowerShellのコマンドレット実行結果
  9.     Dim zipFilepath As String 'ZIPファイルパス
  10.     Dim destinationFolderpath As String 'ZIPファイル展開先フォルダ
  11.     
  12.     'ZIPファイルパス
  13.     zipFilepath = “D:\Webページ保存ファイル\edgedriver_win64.zip"
  14.     'ZIPファイル展開先フォルダ
  15.     destinationFolderpath = “D:\Webページ保存ファイル\ZIP展開先"
  16.     
  17.     'Shellオブジェクトを作成する
  18.     Set wsh = CreateObject(“WScript.Shell")
  19.     
  20.     '実行するPowerShellのコマンドレットを組み立て
  21.     psCommand = “Expand-Archive -Path " & zipFilepath & " -DestinationPath " & destinationFolderpath & " -Force"
  22.     
  23.     'PowerShellのコマンドレットを実行
  24.     result = wsh.Run(“powershell -NoProfile -ExecutionPolicy Unrestricted " & psCommand, WindowStyle:=0, WaitOnReturn:=True)
  25.     
  26.     '実行結果確認
  27.     If (result = 0) Then
  28.         MsgBox “ZIP展開完了"
  29.     Else
  30.         MsgBox “ZIP展開失敗"
  31.     End If
  32.  
  33.     Set wsh = Nothing
  34.     
  35. End Sub


13行目:ZIPファイルパスを設定する
15行目:ZIPファイルの展開先フォルダを設定する

スポンサーリンク

まとめ

ZIPファイルを自動的に展開(解凍)する方法を紹介しました。
最後までご覧いただき、ありがとうございました。

 

【ExcelVBA】HTTP/HTTPS通信によるWebページ情報取得の方法」も紹介していますので、もしよろしければこちらも御覧ください。

 

¥891 (2023/02/02 12:04時点 | Amazon調べ)

Microsoft Public Affiliate Program (JP)(マイクロソフトアフィリエイトプログラム)