フォルダ内の画像をまとめてzip化するVBAを教えてください 現在、以下のようなフォルダ構造があります。 画像まとめフォルダ - 0001フォルダ - A.jpg

Visual Basic | Excel80閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

1

1人がナイス!しています

ご対応をありがとうございます。 バッチリ動作致しました! 知識不足で恐縮です…。 ZIPファイルの保存先は「デスクトップ」を想定していましたが、可能でしたら、保存先パスを親フォルダ指定と同様の形で指定する方法もご教示頂けませんでしょうか。 また、後出しで恐縮ですが、可能でしたら以下の点もご教示頂けませんでしょうか。 ●生成するzipファイル名を「画像の入っていたフォルダ名」から以下に変更 imgYYYYMMDDhhmmss.zip 例:img20220702172910.zip ※本日17:29:10 ※img部分は固定、YYYYMMDDhhmmss部分は処理を行った時刻。 ※一連の処理で生成するzipファイル名はユニークにしたいため、hhmmss部分をzipファイルごとに1秒ずつズラしていきたい。 172910.zip、172911.zip… 何卒よろしくお願い致します。

ThanksImg質問者からのお礼コメント

ご丁寧にご対応を頂きましてありがとうございました。ベストアンサーを贈らせて頂きます。ありがとうございました。

お礼日時:7/3 15:17

その他の回答(1件)

0

VBAからZip圧縮する際はPowerShellを呼び出して処理するのが良いでしょう。 以下のサイトにサンプルコードがあるので参考に構築しましょう。 このサンプルは1フォルダだけを処理するサンプルですがまずはこれを作って1フォルダだけでも処理できる状況を作りましょう。 pathに渡す時にフォルダパスを渡すのではなく C:\画像まとめフォルダ\0001\*.jpg というパスを渡せば希望通りの形になるはずです。 https://excel-vba.work/2021/12/10/%E3%80%90vba%E3%80%91%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB-%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%82%92zip%E5%BD%A2%E5%BC%8F%E3%81%A7%E5%9C%A7%E7%B8%AE%E3%81%99%E3%82%8B/ https://bra-ve.co.jp/2529/ https://vbabeginner.net/zip-comp-decomp/ これが動作するようになったら、次にフォルダ一覧を取得する処理を別途に作りそこから上で作った1フォルダ処理する関数を何度か呼び出すように作成すれば完成です。 https://www.tipsfound.com/vba/18022