Power Automate Desktop

Power Automate Desktop で PDF を統合(結合)しよう

※この記事は、「Power Automate Desktop を使ってみよう」の続きです。


Microsoft Power Automate Desktop を扱い始めて日が浅いので、日々勉強です。

普段やっている場面で、何か活かせる使い方がないかと考えた結果、浮かんだのが PDFファイルの操作です。PDF ファイルをまとめたり(統合・結合したり)、PDF ファイルを分割したりする操作は、頻度は少ないですが、たまに起こっていたような気がします。

Power Automate Desktop では、PDFファイルを扱うことが出来ます。今回は、別々の PDF ファイルを統合(結合)して、一つの PDF ファイルを作りましょう。

※今回の PDF ファイル統合に際して、長野県の「新型コロナウイルス感染症対策 総合サイト」上でダウンロードが可能な PDF ファイルを使用いたしました。その理由は、PDF ファイル名の冒頭が、月日または年月日を表す数字から始まるもので、並べ替えの説明に適していたためです。以降の説明で、PDFの内容が判然と見える形で提示していないことを、予めご説明申し上げます。

前提の説明

  • デスクトップ上に、フォルダー「downloded_pdf_files」があります
  • フォルダー「downloaded_pdf_files」の中には、サブフォルダが2つあります。それぞれ「202102」「202103」です
  • 各フォルダの中には、日付を示す4ケタの数字から始まる、PDFファイルがあります
  • PDF ファイルは全部で 5つあり、各ファイルのページ数は 1ページです

やりたいこと

  • フォルダー「downloaded_pdf_files」を指定して、複数のサブフォルダー内にある複数の PDF ファイルを、統合(結合)したい
  • 統合(結合)したファイルでは、PDFファイル名を昇順で並べて統合(結合)したい
    • 今回の例では、0226から始まる PDFファイルを先頭に、0307から始まる PDFファイルを後尾にしたい

では、やってみましょう

それでは、順にやってみましょう。ここの順序の考え方は、Windows の操作をもとに考えてみるとよいでしょう。

PDF ファイルを開くためには、PDF ファイルを含むフォルダーを開きます。その中にあるPDF ファイルを選びます。その上で、それらをまとめて統合(結合)する、といった感じです。これを、ひとつずつやっていきます。

PDF ファイルのあるフォルダを指定する

(1) アクション「フォルダー内のファイルを取得」をフローに入れます

1) 左側にあるアクションの中にある [フォルダー] – [フォルダー内のファイルを取得] を探してください。

アクショングループ「フォルダー」の内容

2) 見つけたら、フォルダー内のファイルを取得を、Main フローにドラッグアンドドロップしてください。

3) アクションを中に入れると、この「フォルダー内のファイルを取得」アクションのパラメーター設定画面が表示されます。これを、順に設定していきます。

(2) 「全般」パラメーターを設定します

PDFファイルを含むフォルダを指定します。ここでは、デスクトップ上のフォルダー「downloaded_pdf_files」が、それにあたります。また、このフォルダーの中にあるサブフォルダーも、対象になります。

今回はフォルダー内に PDF ファイルしか含みませんが、実際には、それぞれ異なる形式のファイルが混ざって入っています。そのため、PDF ファイルだけを取り出すように、指定する必要があります。

それでは順にやっていきましょう。

1) 全般 の中にある [フォルダー] の枠内にある、フォルダーアイコンをクリックします(マウスカーソルを近づけると、「フォルダーの選択」と表示されます)

まずは「フォルダー」を選択します

2) 「フォルダーの参照」ウィンドウが表示されますので、ここでデスクトップにあるフォルダー「downloaded_pdf_files」を選択します。

PDF ファイルが入っているのはサブフォルダーです

3) 設定したフォルダーへのパス(フォルダーの場所を表すもの)が設定されていることを確認します。

フォルダーパラメーターが設定されました

4) 今回はサブフォルダーを含める必要があるので、「サブフォルダーを含める」スイッチをオンにします

サブフォルダーを含めるようにします

5) [ファイル フィルター] に、*.pdf と入力します。
 PDF ファイルは、拡張子(ファイルの種類を識別するもの)が .pdf です。拡張子が .pdf となっている全てのファイルを探し出すために、*.pdf と書いています。

 * [アスタリスク]は、特別な役割を果たす文字列「ワイルドカード」の一つで、長さ0文字以上の全てのパターンにマッチするものを示します。

(3) 「詳細」パラメーターを設定します

詳細パラメーターでは、取得したファイルの並び順を設定できます。ひょっとすると、ここが最も難しいところです(私は勘違いを繰り返したので、何度もしくじりました)。

それでは順にやってみましょう

1) 「詳細」パラメータを開きます。

2) 「詳細」パラメーターで「並べ替え基準」について、以下の通り設定します。

  • 並べ替え基準
    ディレクトリ降順スイッチを ON
  • 並べ替えの第 2 基準
    名前降順スイッチを ON
この設定で良いの?と思ったあなた、お気持ち、よくわかります

3) 「保存」をクリックしてください。

PDF ファイルの並び順の確認をします

途中なのですが一度ここで実行して、「PDFファイルを取得できていること」「指定した並び順で PDFファイルが並べ替えられていること」を確認します。

「フォルダー内のファイルを取得」の設定のみが終了しています

(1) 実行してみましょう

1) 「▷実行」をクリックします。
 実行すると、画面右側の「変数」の表示に変化があります。フロー変数の Files の中に、追記されているのです。

分かりやすくするために、赤い点を打ちました

2) フロー変数 Files をダブルクリックしてください。
 フロー変数 Files の中身が確認できます。表示されたウィンドウは小さくて見にくいので、ウィンドウ右下の⊿をドラッグして広げてください。

 よく見ると、指定したフォルダー内のサブフォルダーから、合計 5 つの PDFファイルを取得していることが分かります。また、指定した並び順になっていることも分かります。

 フロー変数は「フローが実行された結果、生成された変数」のことで、この場合では「指定したフォルダーから取得し、並べ替えが終了した PDF ファイルのリスト」を示しています。

指定した通りの並び順になっていますね。あれ?

※これでは初めに決めた並び順(0226から始まる PDFファイルを先頭に、0307から始まる PDFファイルを後尾に)とは違う・逆になっているのではないか、とお感じのあなた、お気持ちはとてもよく分かります。

3) 「変数の値」ウィンドウを閉じます。

PDF ファイルを統合(結合)します

(何だか不安はありますが)取り出すことができましたので、この PDFファイルのまとまりを、一つのファイルに統合(結合)します。

(1) アクション「PDF ファイルを統合」をフローに入れます

1) 左側にあるアクションの中にある [PDF] – [PDF ファイルを統合] を探してください。

アクショングループ「PDF」の内容

2) 見つけたら、PDF ファイルを統合を、Main フローにドラッグアンドドロップしてください。

下に入れます

3) アクションを中に入れると、この「PDF ファイルを統合」アクションのパラメーター設定画面が表示されます。これを、順に設定していきます。

(2) 「全般」パラメーターを設定します

PDF ファイルを統合するためには、「統合の元となる PDF ファイルは何か」「統合された PDF ファイルは何という名前で、どこに置くのか」を指定する必要があります。これらは、「全般」パラメーターでいうところの「PDFファイル」「統合された PDF のパス」に、それぞれ相当します。

それでは、まず「統合の元となる PDF ファイルは何か」を指定するところから、始めましょう。「統合の元となる PDF ファイル」は、先程、その中身を確認した フロー変数 Files です。

1) 全般 の中にある [PDF ファイル] の枠内にある、{x} 変数 をクリックします(マウスカーソルを近づけると、「変数の選択」と表示されます)

統合の元となる PDF ファイルを指定します

2) フロー変数の中から、Files をダブルクリックで選びます。

フロー変数を選択します

3) [PDF ファイル] の中に、%Files% と表示されていることを確認します。

フロー変数が PDF ファイルに選択された結果

4) 全般 の中にある [結合された PDF ファイル] の枠内にある、ファイル をクリックします(マウスカーソルを近づけると、「ファイルの選択」と表示されます)

「結合された PDF ファイルは何という名前でどこへ置くのか」を決めます

5) 保存先のフォルダーと、保存する PDFファイル名を決めます。
 保存先フォルダーと保存する PDF ファイル名は、任意です(好きに決めてよいです ※PDFファイルなので .pdf にしてください)
 ここでは、以下の通り決めました。

  • 保存先のフォルダー
    デスクトップ上のフォルダー「downloaded_pdf_files」
  • 保存する PDF ファイル
    combine.pdf

6) 「保存」をクリックします。

フローを実行します

お疲れ様でした。これで設定は終了しました。今の状態は、以下の通りです。

一度実行してしまったので、MergePDF の中身が見えています。申し訳ありません。

(1) 実行してみましょう

1) 「▷実行」をクリックします。
 特にエラーが表示されることなく、実行されたことを確認してください。

2) 統合された PDF ファイルの保存先フォルダを開きます。
 指定したフォルダ「デスクトップ上の downloaded_pdf_files」の中に、指定した PDF ファイル combine.pdf が出来上がっていることが、確認できます。

指定したフォルダ内に、指定した PDF ファイルが出来ました

(2) 統合された PDF ファイルを開いて、中身を確認しよう

統合された PDF ファイルを開いて、中身を確認してみましょう。

1ファイル1ページなので、5ファイル分が統合されているのが分かります。また、心配していた並び順も、統合された PDF ファイルでは、きちんと昇順になっていました。

※フロー変数の、「最も上にあるものから順に取り出されて結合されている」ような振る舞い(後入れ先出し)をしているので、スタックみたいだなあと思いながら、確たる証拠が得られないので調べ直してきます。

まだまだ学ぶことは多いです

まだまだ学ぶことが多い Power Automate Desktop です。皆さんがやってみた便利な使い方があれば、是非教えてください。

以下のようにオンラインのセミナー・イベントで学べる機会があります。私も参加しますので、皆さんもよろしければ参加されてはいかがでしょうか。

緊急開催!Windows 10なら無料で出来るPower Automate Desktop勉強会! (2021/03/11 19:00〜)

マイクロソフト本社主催のイベント「Microsoft Ignite 2021」で発表された、Power Automate Desktop は、Windows 10 をお持ちなら、だれでも追加費用なく無料で使えるようになりました。 詳細はこちらの投稿で説明しています: https://memo.tyoshida.me/power-platform/power-automate/windows10-power-automate-desktop-no-additional-charge/ このイベントでは、これから始める方向けの初心者向け勉強会を開催します! 日時:2021年3月11日(木) 19:00 – 21:00 YouTube ライブ配信: ↓↓時間になりましたらこちらへアクセスください↓↓URLは当日公開します 参加費:無料 Windows 10 が入ったパソコン(Windows 7、Windows 8、Windows 8.1 やMacでは使えません) 2時間の時間の余裕 暖かい心と、他の人にもこの素晴らしさを広めたい気持ち(任意) なんとなくそれっぽく書きましたが、時間配分は正直わかりません。 ※予定は予告なく、コロコロ変わります。 19:15~ ミニ基調講演 Power Automate Desktop の生みの親、昨年マイクロソフトコーポレーションが買収したSoftmotive社の社長のMariosさんより、Power Automate Desktop への思いや、日本の皆さんへのメッセージをギリシャから生中継でお届けします。 ※通訳は素人のため大目に見てやってください 20:00~ Power Automate Desktop で出来ること(ガチ編) ガチですごい自動化すると、どんなに素晴らしい世界が待っているのかをPower Automate Desktopの前身である、WinAutomationの時代からずっと携わってきた、あさひロボット研究所の皆さんが総動員で渾身の一作のデモをご紹介頂きます ※本イベントは開催者/主催者はマイクロソフトコーポレーションに所属していますが、日本マイクロソフト非公認の、非公式なコミュニティイベントです。