![見出し画像](https://assets.st-note.com/production/uploads/images/104228852/rectangle_large_type_2_f04a7c652ade95a53ed0f494a61df9b9.png?width=1200)
Power Automate for desktopでPDFファイルを複数ページずつ分割する方法
先日、600ページあるPDFファイルを2ページずつ分割したいという要望がありました。
1ページずつの分割であればできるフリーソフトは結構あるのですが、複数ページずつ分割できるフリーソフトってあんまりないんですよね。
いろいろ調べていたところ、Power Automate for desktopで分割する方法をMiyakeさんが記事にしていらっしゃいました。
という訳で、Miyakeさんの記事を元に自分でもフローを作ってみました。
![](https://assets.st-note.com/img/1682736361136-2Bod69uU6l.png)
フロー
![](https://assets.st-note.com/img/1682740762271-YSZNoLqSP5.png?width=1200)
ポイント
①インプットボックス
インプットボックスを使って、元ファイルと分割ページ数をユーザーに入力させるようにしています。
![](https://assets.st-note.com/img/1682740839298-9ZTdJu19TA.png?width=1200)
![](https://assets.st-note.com/img/1682740877965-LDzqhN3Vf1.png?width=1200)
ちなみに、ダイアログの「キャンセル」ボタンを押してもその後の処理は実行されてしまうため、[Switch]と[Case]を使って「OK」の時にだけ処理を実行させるようにしています。
②複数ページで分割させる方法
複数ページで分割させるためには、[新しいPDFファイルへのPDFファイルページの抽出]の[ページ選択]の部分に、[1-3]のように抽出するページを設定します。
%LoopIndex%を使って抽出するページを変化させていきたいので、[Loop]アクションの増分に分割したいページ数(アクション5でユーザーに入力させた数字)を設定し、[新しいPDFファイルへのPDFファイルページの抽出]の[ページ選択]を、[%LoopIndex%-%LoopIndex + PageSu - 1%]と設定しています。
![](https://assets.st-note.com/img/1682741138008-DEbhG6eNCS.png?width=1200)
![](https://assets.st-note.com/img/1682741243394-7u2M1cdQLS.png)
![](https://assets.st-note.com/img/1682741177582-eL3pDxRZsE.png?width=1200)
③分割したいページ数を1ページとそれ以外で条件分岐
上記設定にした場合、分割するページ数を1ページにするとエラーが出てしまったので、1ページとそれ以外で条件分岐しています。
分割するページ数が1ページの場合には、[ページ選択]は素直に[%LoopIndex%]で大丈夫です。
![](https://assets.st-note.com/img/1682741995055-aFt9BnVXOb.png?width=1200)
いけてないところ
この方法、[ページが範囲外です]のエラーを検知して、Loopから抜けています。
その為、総ページ数が分割ページ数で割り切れない場合、一番最後のファイルが出力されません。
実用の際にはご注意ください。
2023.5.2追記
100枚単位で処理すると途中でエラーが出てしまいました。
エラーが出る場合には、[新しいPDFファイルへのPDFファイルページの抽出]アクションの「エラー発生時」処理の[エラーが発生した場合にアクションを再試行する]をオンにしてください。
![](https://assets.st-note.com/img/1683024434639-JvMjL9GAsW.png?width=1200)