デスクワークを超絶快適にするおすすめギアたち詳しく見る

【初心者向け】フォルダーの中の大量ファイルをスマートにまとめて印刷!!

目次

Power Automate for Desktopを使えば大量印刷も簡単にできます。

Windows 11から標準搭載され誰でも無料に利用できるようになったRPAツール「Power Automate for desktop」を使って大量印刷する方法の解説です。いくつかのケースを想定してご紹介したいと思います。

以下の3つの印刷フローをつくります。

  • フォルダー内のファイルを全部まとめて印刷する方法
  • PADに製品品番を入力すると、マッチしたファイルをフォルダー内から探して印刷する方法
  • 印刷リストに品番を列挙しておくと、品番にマッチするファイルをフォルダー内から探して印刷する方法

フォルダーの中のファイルを全部印刷したい。

じょじお

まずはフォルダ内のファイルをまるごと印刷する方法です。

STEP
Power Automate for desktopを起動して新規フローを作成します。
STEP
「フォルダー内のファイルを取得」アクションを追加します。

▲「フォルダー」グループの中の「フォルダー内のファイルを取得」アクションを追加します。

▲パラメータを入力します。

  • フォルダー:フォルダー名のパスを入力します。(パスとは?
  • ファイルフィルター:*
  • サブフォルダーを含める:オン

ファイルフィルターを「*」にするとすべてのドキュメントをピックします。ファイルフィルターを「.docx」とするとwordファイルだけをピックします。

サブフォルダーとはフォルダーの中のフォルダーの中のファイルまで取得するかどうかの指定です。

STEP
「For each」アクションを追加します。

▲「ループ」グループの中の「For each」アクションを追加します。

▲パラメータを入力します。

  • 反復処理を行う値:%Files%
  • 保存先:CurrentItem
STEP
「ドキュメントの印刷」アクションを追加します。

▲「ワークステーション」グループの中の「ドキュメントの印刷」アクションを追加します。

▲パラメータを入力します。

  • 印刷するドキュメント:「%CurrentItem%」

CurrentItem変数はFiles変数から値を一個一個とりだしたものです。ファイル型変数はFullNameというプロパティを持っているのでそれを使います。FullNameプロパティは「ファイルの拡張子付き且つフォルダ階層を含めたファイル名」の情報です。

ファイル型変数です。

追記:%Files%だけでもOKでした。

上の説明では「%CurrentItem.FullName%」というようにプロパティを使っていますが、「%CurrentItem%」というように変数をダイレクトに書いても問題なく印刷できました。

STEP
フローが完成しました。

▲フローの完成図です。

STEP
フローを実行します。

フローを実行してみましょう。実行すると印刷が始まってしまうので、いきなり大量の印刷をせずにまずは少ないファイルのフォルダで試すと良いかと思います。

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に入力すると、その品番に合致する製品仕様書を印刷するフローを作成します。

STEP
ゴールの確認

製品仕様書が格納されているフォルダがあります。padで製品品番の入力を受け付けて入力された品番と合致する仕様書.pdfをフォルダの中から探し出して印刷したいと思います。

STEP
Power Automate for desktopを起動してフローを新規作成します。
STEP
「入力ダイアログを表示」アクションを追加します。

▲「入力ダイアログを表示」アクションを追加します。

▲パラメータを入力します。

  • 入力ダイアログメッセージ:品番を入力してください。
  • 入力ダイアログを常に手前に表示する:オン
STEP
「フォルダー内のファイルを取得」アクションを追加します。

▲パラメータを入力します。

  • フォルダー:フォルダー名のパスを入力します。(パスとは?
  • ファイルフィルター:*
  • サブフォルダーを含める:オン
STEP
「For each」アクションを追加します。

▲パラメータを入力します。

  • 反復処理を行う値:%Files%
  • 保存先:CurrentItem
STEP
(ループの中の処理)「If」アクションを追加します。

▲「条件」グループの中の「If」アクションを追加します。

▲パラメータを入力します。

  • 最初のオペランド:%CurrentItem%
  • 演算子:次を含む
  • 2番目のオペランド:%UserInput%
STEP
(ifの中の処理)「ドキュメントの印刷」アクションを追加します。

▲パラメータを入力します。

  • 印刷するドキュメント:%CurrentItem%
STEP
フローが完成しました。
STEP
フローを実行して印刷ができるかを確認してみましょう。

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

品番リストを用意して、そこに記載がある商品の仕様書だけ印刷したい。

じょじお

次は印刷リストをもとにファイルを選別して印刷するフローを作成します。

STEP
やることの確認
  1. 印刷リスト.txtというテキストファイルに印刷したい製品仕様書の品番を図のように列挙します。
  2. PADフローを実行すると、製品仕様書フォルダから印刷リストにマッチする品番のファイルのみをピックアップして印刷します。

そんなフローをつくります。

STEP
Power Automate for desktopを起動して新規フローを作成します。
STEP
品番リストを用意します。
“C:\Users\user\Desktop\印刷リスト.txt”

メモ帳を開いて、印刷したい製品仕様書の品番を記入しました。

この時、かならず1行1品番にしてください。

STEP
「ファイルからテキストを読み取ります」アクションを追加します。
STEP
「テキストの結合」アクションを追加します。
STEP
「フォルダー内のファイルを取得」アクションを追加します。
STEP
「For each」アクションを追加します。
STEP
(ループの中の処理)「ドキュメントの印刷」アクションを追加します。
STEP
フローの完成です。
STEP
フローを実行します。

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学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automate クラウドフローの入門書です。日本語の解説書は数少ないのでレアかと思います。変数の解説から代表的なアクションの解説がされているので初心者におすすめの本です。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

この記事が気に入ったら
フォローしてね!

シェアしてくれたらウレシイ(·:゚д゚:·)
  • URLをコピーしました!
  • URLをコピーしました!
目次
閉じる