Power Automate for Desktopを使えば大量印刷も簡単にできます。
Windows 11から標準搭載され誰でも無料に利用できるようになったRPAツール「Power Automate for desktop」を使って大量印刷する方法の解説です。いくつかのケースを想定してご紹介したいと思います。
以下の3つの印刷フローをつくります。
- フォルダー内のファイルを全部まとめて印刷する方法
- PADに製品品番を入力すると、マッチしたファイルをフォルダー内から探して印刷する方法
- 印刷リストに品番を列挙しておくと、品番にマッチするファイルをフォルダー内から探して印刷する方法
フォルダーの中のファイルを全部印刷したい。
まずはフォルダ内のファイルをまるごと印刷する方法です。
▲「フォルダー」グループの中の「フォルダー内のファイルを取得」アクションを追加します。
▲パラメータを入力します。
- フォルダー:フォルダー名のパスを入力します。(パスとは?)
- ファイルフィルター:*
- サブフォルダーを含める:オン
ファイルフィルターを「*」にするとすべてのドキュメントをピックします。ファイルフィルターを「.docx」とするとwordファイルだけをピックします。
サブフォルダーとはフォルダーの中のフォルダーの中のファイルまで取得するかどうかの指定です。
▲「ループ」グループの中の「For each」アクションを追加します。
▲パラメータを入力します。
- 反復処理を行う値:%Files%
- 保存先:CurrentItem
▲「ワークステーション」グループの中の「ドキュメントの印刷」アクションを追加します。
▲パラメータを入力します。
- 印刷するドキュメント:「%CurrentItem%」
CurrentItem変数はFiles変数から値を一個一個とりだしたものです。ファイル型変数はFullNameというプロパティを持っているのでそれを使います。FullNameプロパティは「ファイルの拡張子付き且つフォルダ階層を含めたファイル名」の情報です。
ファイル型変数です。
追記:%Files%だけでもOKでした。
▲フローの完成図です。
フローを実行してみましょう。実行すると印刷が始まってしまうので、いきなり大量の印刷をせずにまずは少ないファイルのフォルダで試すと良いかと思います。
Robinソースコード
Folder.GetFiles Folder: $'''C:\\Users\\user\\Desktop\\製品仕様書''' FileFilter: $'''*''' IncludeSubfolders: True FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files LOOP FOREACH CurrentItem IN Files Workstation.PrintDocument DocumentPath: CurrentItem.FullName END
フォルダーの中の特定の品番に合致するドキュメントだけを印刷したい。
次は品番をpadに入力すると、その品番に合致する製品仕様書を印刷するフローを作成します。
製品仕様書が格納されているフォルダがあります。padで製品品番の入力を受け付けて入力された品番と合致する仕様書.pdfをフォルダの中から探し出して印刷したいと思います。
▲「入力ダイアログを表示」アクションを追加します。
▲パラメータを入力します。
- 入力ダイアログメッセージ:品番を入力してください。
- 入力ダイアログを常に手前に表示する:オン
▲パラメータを入力します。
- 反復処理を行う値:%Files%
- 保存先:CurrentItem
▲「条件」グループの中の「If」アクションを追加します。
▲パラメータを入力します。
- 最初のオペランド:%CurrentItem%
- 演算子:次を含む
- 2番目のオペランド:%UserInput%
▲パラメータを入力します。
- 印刷するドキュメント:%CurrentItem%
Robinソースコード
Display.InputDialog Message: $'''品番を入力してください。''' InputType: Display.InputType.SingleLine IsTopMost: False UserInput=> UserInput ButtonPressed=> ButtonPressed Folder.GetFiles Folder: $'''C:\\Users\\user\\Desktop\\製品仕様書''' FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files LOOP FOREACH CurrentItem IN Files IF Contains(CurrentItem, UserInput, False) THEN Workstation.PrintDocument DocumentPath: CurrentItem END END
品番リストを用意して、そこに記載がある商品の仕様書だけ印刷したい。
次は印刷リストをもとにファイルを選別して印刷するフローを作成します。
- 印刷リスト.txtというテキストファイルに印刷したい製品仕様書の品番を図のように列挙します。
- PADフローを実行すると、製品仕様書フォルダから印刷リストにマッチする品番のファイルのみをピックアップして印刷します。
そんなフローをつくります。
メモ帳を開いて、印刷したい製品仕様書の品番を記入しました。
この時、かならず1行1品番にしてください。
Robinソースコード
File.ReadTextFromFile.ReadTextAsList File: $'''C:\\Users\\user\\Desktop\\印刷リスト.txt''' Encoding: File.TextFileEncoding.UTF8 Contents=> FileContents Text.JoinText.JoinWithCustomDelimiter List: FileContents CustomDelimiter: $'''*;''' Result=> JoinedText Folder.GetFiles Folder: $'''C:\\Users\\user\\Desktop\\製品仕様書''' FileFilter: JoinedText + '*' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files LOOP FOREACH CurrentItem IN Files Workstation.PrintDocument DocumentPath: CurrentItem END
印刷が正常にされない場合は?
次の点について確認してください。
Power Automate for desktopの設定の問題
「ドキュメントの印刷」アクションに渡しているパスが間違っている。
プリンターとPCの問題・ネットワークの問題
Power Automate for desktopを使用しないでドキュメント単体を開いてみて正常に印刷できるかを確認してください。ドキュメント単体で印刷ができない場合、Power Automate for desktopの問題ではなくPCとプリンターの問題かネットワークの問題の可能性があります。
その場合は以下を確認して問題を解決してから印刷してください。あるいは社内・組織内のシステム担当者に問い合わせて解決してください。
- PCにプリンタードライバーがインストールされているかどうか。
- PCからプリンターにPingが通るかどうか(NWプリンターの場合)。
- プリンターの紙詰まりやインク切れなどの問題がないか。
まとめ
この記事ではPDFやWord文章を大量印刷する方法について学習しました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。