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〜)