マクロ(VBA)

マクロ(VBA)でファイルをzip化して添付する方法(outlook)

以前公開したこの記事が意外と人気で、どういった検索ワードでこの記事に辿り着いているのか調べた時に、結構「vba outlook zip」というワードがあったので、結構需要があるのかなと思い、この記事を作成しています。

今回は、ファイルをzip化してメールに自動で添付する方法をご紹介します。

最初に断っておきますが、今回紹介するのはzip化するだけです。

パスワードの設定は諸々大変そう&会社のパソコンでは実現が難しそうだった(アプリのインストール?)ため、今回は紹介ありません。その点はご了承ください。

このコードの使用は自己責任でお願いします。

マクロでzip化する前の準備

マクロでファイルのzip化をする場合、少しだけ準備が必要です。

それはライブラリの追加。

20秒で終わるので安心を。

ツール→参照設定を選択

ライブラリの参照

windows Script Host Object Modelを選択

ライブラリの追加

これだけで準備は完了です。

今回紹介するコード全文

今回は以前紹介したマクロを使ってメールを自動送信する方法のコードをベースにしています。

その記事をまだ確認されていない人はこちらの記事から確認をお願いします。

ファイルをzip化するマクロ

時短テクニック

今回はファイルを添付する前に、そのファイルをzip化しています。

具体的にzip化している箇所は↓の場所です。

の場所からfunction MakeZipに飛びます。

正直ごちゃごちゃ書いてあって、私もすべては理解できていませんが重要な点は

Result=MakeZip(Path,Zippath)のpathをZippathとしてzipファイルで保存するということだけです。

もっと詳しいことを知りたい人はネットで調べてください。

そもそもzip化ってどういう時に使うん?

あんまり業務でzip化って使わないんですけど、どういう時に使うんですかね。

パスワードがついたzipだったら、取引先からのメールでよくついていますが、パスワードがついていないzipってどういった場面で登場するのでしょうか。

容量も別にそこまで圧縮されないし謎です。

 

関連記事