今回はPower Automate Desktopを使用して、ファイルの選択ダイアログでユーザー自身がファイルを選択して、そのファイルをZIPファイルに圧縮する方法とZIPファイルの解凍方法をご紹介します。
自分で圧縮したいファイルを選んで、ZIPファイルを作成したいです。
その後に解凍する方法もお願いします。
Power Automate Desktopで、簡単に圧縮ファイルの作成と、解凍を実行するフローを構築できますよ。
まず最初に処理の手順とフローの完成形を見てみます。
処理手順
圧縮
1.特別なフォルダーを取得
2.ファイルの選択ダイアログを表示
3.IFで条件分岐
4.入力ダイアログを表示
5.IFで条件分岐
6.ZIPファイルの作成
解凍
7.入力ダイアログを表示
8.IFで条件分岐
9.ZIPファイルの作成
フローの完成
では順を追って説明します。
1.ファイルの圧縮
まず最初にファイルを選択して、圧縮ファイルを作るフローを作成します。
1-1.特別なフォルダーを取得
今回は圧縮するファイルと、圧縮したZIPファイルの保存先をデスクトップに置きます。
「特別なフォルダーを取得」をデスクトップにします。
もし別の場所に保存したい場合は、特別なフォルダーの名前を変更してください。
1.アクションの「フォルダー」から「特別なフォルダーを取得」をワークスペースにドラッグ&ドロップします。
2.特別なフォルダーを取得のパラメータを選択します。
特別なフォルダーの名前:デスクトップ
今回はデスクトップに圧縮するファイルとファイルの保存先にしたいので、特別なフォルダーの名前にデスクトップを選択します。
特別なフォルダーのパス:上記の特別なフォルダーの名前を選択すると、自動で入力されます。
データを開いたり、保存する時に、使用するパス(ファイルの保存場所)はアカウント名など、ユーザー毎に違います。
特別なフォルダを取得することで、どの環境でも自動で一部のパスを取得してくれます。
※特別なフォルダーを取得の詳しい説明は別の記事に掲載しております。該当記事はこちら
3.設定が終わったら「保存」をクリックします。
生成された変数「SpecialFolderPath」
1-2.ファイルの選択ダイアログを表示
次にアクションの「ファイルの選択ダイアログを表示」を使って、圧縮したいファイルを選択します。
1.アクションにある「メッセージボックス」の「ファイルの選択ダイアログを表示」をワークスペースにドラッグ&ドロップします。
2.ファイルの選択ダイアログを表示のパラメータを選択します。
・ダイアログのタイトル:任意のタイトルを入力します。
ユーザーにどのような行動を促したいか、タイトルでお知らせします。
・初期フォルダ:今回はフォルダをユーザー側が指定する設定にしたいので、何も入力しません。
・ファイルフィルター:ファイルの種類を指定しないので、何も入力しません。
・ファイル選択ダイアログを常に手前に表示する:選択します。
・複数の選択を許可:選択します。
今回は複数のファイルをZIPファイルにしたいので、複数の選択を許可します。
・ファイルが存在するかどうかを確認する:選択します。
3.設定が終わったら「保存」をクリックします。
選択したファイルが変数「SelectedFile」に格納されます。
変数「ButtonPressed」は次のIFで使用します。
ButtonPressedには、ユーザーが「開く」または「キャンセル」の、どのボタンを押したか記録されます。
1-3.IF
次に、上記の「ファイルの選択ダイアログ」でキャンセルした場合に、それ以降の処理を行わないようにIFで処理します。
1.アクションにある「条件」の「IF」をワークスペースにドラッグ&ドロップします。
2.IFのパラメータを選択します。
・最初のオペランド:ファイルの選択ダイアログで生成された変数「ButtonPressed」を入力します。
{☓}から選択することが出来ます。
・演算子:と等しくない(<>)を選択します。
・2番目のオペランド:「Cancel」と入力します。
3.設定が終わったら「保存」をクリックします。
IFの条件分岐で、キャンセルではない(等しくない)場合に処理が実行されます。
キャンセルした場合は、処理が中断されます。
1-4.入力ダイアログを表示
圧縮したZIPファイルの、ファイル名を入力するアクションを追加します。
1.アクションにある「メッセージボックス」の「入力ダイアログを表示」をIFとEndの中にドラッグ&ドロップします。
2.入力ダイアログを表示のパラメータを選択します。
・入力ダイアログのタイトル:任意のタイトルを入力します。
ユーザーにどのような行動を促したいか、タイトルでお知らせします。
・入力ダイアログのメッセージ:任意のメッセージを入力します。
ユーザーに伝えたいメッセージをお知らせします。
フローを実行すると、このようなダイアログが表示されます。
・既定値:ユーザーに入力してもらいたいので、空白にします。
ここに既定のファイル名を入力しても、ユーザーが名前を上書きすることができます。
・入力の種類:ここは1行にします。
・入力ダイアログを常に手前に表示する:選択します。
3.設定が終わったら「保存」をクリックします。
入力したファイル名が変数「UserInput」に格納されます。
変数「ButtonPressed2」は次のIFで使用します。
ButtonPressed2には、ユーザーが「OK」または「キャンセル」の、どのボタンを押したか記録されます。
1-5.IF
次に、上記の「入力ダイアログを表示」でキャンセルした場合に、それ以降の処理を行わないようにIFで処理します。
1.アクションにある「条件」の「IF」を入力ダイアログを表示の下にドラッグ&ドロップします。
2.IFのパラメータを選択します。
次のようにパラメータを選択します。
・最初のオペランド:%ButtonPressed2%
・演算子」と等しくない(<>)
・2番目のオペランド:Cancel
3.設定が終わったら「保存」をクリックします。
1-6.ZIPファイルの作成
最後にZIPファイルの設定をします。
1.アクションにある「圧縮」の「ZIPファイル」を2つ目のIFの中にドラッグ&ドロップします。
2.ZIPファイルのパラメータを選択します。
ZIPファイルの保存先とファイル名を入力します。
・アーカイブパス:%SpecialFolderPath%/%UserInput%.zip
ここに先程作成した「特別なフォルダーを取得」と「入力ダイアログを表示」で生成された変数に.zipの拡張子を付けます。
圧縮するファイルを選択します。
・圧縮するファイル:%SelectedFiles%
ここに先程作成した「ファイルの選択ダイアログを表示」で選択したファイルが格納されている変数を入力します。
・圧縮レベル:速度と圧縮の最適なバランスを選択
この他にも、「なし」「最高速度」「最小サイズに圧縮」を選択できます。
・パスワード:パスワードを設定する場合は入力します。
3.設定が終わったら「保存」をクリックします。
2.ファイルの解凍
次にZIPファイルを選択して、解凍するフローを作成します。
2-1.ファイルの選択ダイアログを表示
アクションの「ファイルの選択ダイアログを表示」を使って、解凍したいファイルを選択します。
1.アクションにある「メッセージボックス」の「ファイルの選択ダイアログを表示」をワークスペースにドラッグ&ドロップします。
2.ファイルの選択ダイアログを表示のパラメータを選択します。
・ダイアログのタイトル:任意のタイトルを入力します。
ユーザーにどのような行動を促したいか、タイトルでお知らせします。
・ファイル選択ダイアログを常に手前に表示する:選択します。
・ファイルが存在するかどうかを確認する:選択します。
2-2.IF
次に、上記の「ファイルの選択ダイアログ」でキャンセルした場合に、それ以降の処理を行わないようにIFで処理します。
1.アクションにある「条件」の「IF」をワークスペースにドラッグ&ドロップします。
2.IFのパラメータを選択します。
・最初のオペランド:ファイルの選択ダイアログで生成された変数「ButtonPressed3」を入力します。
{☓}から選択することが出来ます。
・演算子:と等しくない(<>)を選択します。
・2番目のオペランド:「Cancel」と入力します。
2-3.ファイルの解凍
最後にZIPファイルを解凍するためのフローを設定します。
1.アクションにある「圧縮」の「ファイルの解凍」をIFの中にドラッグ&ドロップします。
2.ファイルの解凍のパラメータを選択します。
解凍するファイルを選択します。
・アーカイブパス:%SelectedFile%
ここに先程作成した「ファイルの選択ダイアログを表示」で選択したファイルが格納されている変数を入力します。
解凍したファイルを、どこに保存するか選択します。
・宛先フォルダー:%SpecialFolderPath%/解凍フォルダー/
ここに先程作成した「特別なフォルダーを取得」の変数と、デスクトップに「解凍フォルダー」を新たに作成して、ここに解凍したファイルを保存します。
・パスワード:パスワードが設定されている場合は入力します。
3.フローの実行
・フローの実行を行い、ファイルを選択してZIPファイルを作成できるか、もしくはZIPファイルが解凍できるか、又はキャンセルして処理が中断されるか試してみてください。