- Power Automate Desktopで圧縮ファイルを自動で作りたい
- 圧縮ファイルの解凍を自動で行いたい
- 機密ファイルだから常に圧縮してメール送信したい
当記事では、上記の疑問にお答えします。
少し大き目のファイルを送るのに、圧縮は大変便利です。
圧縮すればファイル容量が小さくなり、メールの送信やストレージ内の容量の節約ができます。
圧縮ファイルにはパスワードもつけられるので、重要なファイルも安心してメール送信が可能です。
しかし、ファイルの圧縮作業が毎日となると正直面倒ではないでしょうか。
実は、Power Automate Desktopには圧縮というアクションがあり自動でファイルを圧縮・解凍ができます。
毎日行っている作業であれば、ぜひ自動化したいところです。
そこで、この記事ではPower Automate Desktopの圧縮・解凍アクションを徹底解説します。
応用編は特定の拡張子をもつファイルのみの解凍や受信したメールの添付ファイルを自動圧縮して保存するフローを解説するので、ぜひ一度お読みください。
あわせて読みたい
目次
著:やまもとてつや
|
Tipstour初の電子書籍化! 37歳で初の正社員となりITヘルプデスクとして勤務中の著者が、Power Automate Desktopを使った8つのメール作業・自動化事例とその方法を本書でご紹介しています。 これを読めば、ヘルプデスクの担当者はもちろん、WindowsPCで作業するすべてのワーカーの面倒なメール作業を自動化可能です。 Kindle Unlimitedで読み放題対象! |
【基本】ファイルを自動圧縮・解凍する方法
ファイルの圧縮や解凍は圧縮アクションから行えます。
ZIPファイル
ファイルやフォルダーを圧縮するアクションです。
設定項目は以下の5つになります。
- アーカイブパス:圧縮したファイルの保存先とそのファイル名を入力します。
- 圧縮するファイル:圧縮対象のファイルです。ファイルパスから入力してください。
- 圧縮レベル:ファイルを圧縮する度合いを設定できます。
- パスワード:任意で解凍に必要なパスワードを設定できます。
- アーカイブコメント:特定のアプリで確認できるコメントで、あまり使用しません。
少しややこしいのですが、アーカイブパスでは拡張子を含めたファイル名とフォルダバスの入力が必須です。
ファイルパスとファイル名を同時に設定すると考えると分かりやすいかもしれません。
圧縮レベルでは、下記の3つが設定できます。
- 最高速度
- 速度と圧縮の最適なバランス
- 最小サイズ
上から下にいくに連れ圧縮するレベルがあがり、圧縮ファイルへのアクセスと元ファイルの圧縮に時間がかかります。
基本的には速度と圧縮の最適なバランスを選べば問題ありません。
生成された変数として、ZipFileが生成されます。
ファイルの解凍
圧縮ファイルを解凍する際に使います。
設定項目は以下の5つになります。
- アーカイブパス:対象の圧縮ファイルがあるファイルパス
- 宛先フォルダー:解凍したファイルの保存先
- パスワード:圧縮ファイルにパスワードがかかっている場合に入力するパスワード
- 包含マスク:様々なファイルが圧縮されている場合に解凍するファイルの特徴(ファイル名や拡張子など)を入力します。
- 除外マスク:様々なファイルが圧縮されている場合に解凍しないファイルの特徴(ファイル名や拡張子など)を入力します。
なお、包含マスクと除外マスクには正規表現も使用可能です。
正規表現については下記の記事でも詳しく解説していますので、ぜひお読みください。
【応用①】特定の拡張子のファイルだけ解凍する
特定の拡張子のファイルだけを解凍するには、ファイルの解凍アクションで包含マスクか除外マスクを設定します。
実際にやってみましょう。
下記のようなファイルがあるフォルダが圧縮されていたとします。
この圧縮ファイルからExcelファイルだけを解凍します。
新規フローを作成したら圧縮アクションからファイルの解凍を中央にドラッグ&ドロップしましょう。
画面が変わります。
以下のように入力してください。
- アーカイブパス:対象の圧縮ファイルのファイルパス
- 宛先フォルダ:解凍先のフォルダパス
- 包含マスク:*.xlsx
包含マスクの*はアスタリスクというワイルドカードです。
*.xlsxと書くことでExcelファイルの拡張子をもつファイル全てという意味になります。
入力が終わったら保存して、フローを実行してみましょう。
Excelファイルだけ解凍できました!
逆にExcelファイル以外を解凍するには、除外マスク欄に*.xlsxと入力します。
これでフローを実行してみましょう。
Excelファイル以外を解凍できました!
【応用②】受信メールの添付ファイルを自動圧縮する
受信メールの添付ファイルをフォルダーに保存しつつ自動圧縮してみましょう。
Gmailで下記のようなメールを受け取ったとします。
上記メールの添付ファイルを作成したフォルダーに保存し、そのまま圧縮してみましょう。
下記3ステップで実行できます。
- 新規フォルダーを作成する
- 該当メールを取得する
- ファイルを圧縮して保存する
【ステップ①】新規フォルダーを作成する
まずは添付ファイルを保存するフォルダーを作成しましょう。
フォルダーアクションにあるフォルダーの作成を中央にドラッグ&ドロップします。
画面が変わったら下記のように入力してください。
- 新しいフォルダーを次の場所に作成:保存したい場所(デスクトップなど)
- 新しいフォルダー名:好きな名前
生成された変数として、NewFolderが作成されます。
【ステップ②】該当メールを取得する
メールを取得します。
メールの取得方法は下記の記事で詳しく解説しているので、まずはご一読ください。
メールアクションからメールメッセージの取得をドラッグ&ドロップします。
画面が変わったら下記のように入力してください。
- IMAPサーバー:imap.gmail.com
- ポート:993
- SSLを有効にする:オン
- ユーザー名:メールアドレス
- パスワード:取得したアプリパスワード
次にメールフィルターをクリックして、下記のように入力します。
- メールフォルダー:受信したメールがあるフォルダ(受信トレイならINBOX)
- "件名"に次が含まれる:テストです。
- 添付ファイルを保存します:添付ファイルを保存します
- 添付ファイルを次に保存:%NewFolder%
入力が終わったら、保存します。
【ステップ③】ファイルを圧縮して保存する
添付ファイルを作成したフォルダーに保存したら、フォルダを圧縮します。
圧縮アクションからZIPファイルをドラッグ&ドロップします。
画面が変わったら以下のように入力します。
- アーカイブパス:圧縮ファイルの保存先となるファイルパスとファイル名(例:デスクトップ\ファイル名.zip)
- 圧縮するファイル:%NewFolder%
アーカイブパスで入力するファイル名は任意です(今回はテスト.zipにしました)。
最後に添付ファイルを保存したフォルダーはいらないので削除しましょう。
フォルダーアクションにあるフォルダーの削除をドラッグ&ドロップしてください。
画面が変わったら、削除するフォルダー欄に%NewFolder%と入力して保存します。
ここまでできたらフローを実行してみましょう。
デスクトップに圧縮フォルダーが作成されました。
圧縮フォルダーの中を確認してみましょう。
添付ファイルを圧縮できました!
今回のフローは下記になります。
※当機能は現在ベータ版です。 予告なく公開終了する場合があります。
まとめ
以上、圧縮ファイルを作成し解凍する方法を解説しました。
Power Automate Desktopにおけるファイル圧縮と解凍は非常にカンタンで、一度覚えてしまえば誰でも使用可能です。
誰でも使える割に非常に汎用性があるので、応用次第でかなり幅広い自動化ができるようになります。
今回作成したフロー元にいろいろ試してみてください。