EXCELで作成した請求書の送付先リストを使って請求書のPDFファイルを自動送信するフローを作成してみました。

事前準備

  1. 配布リストには、会社名、氏名、メールアドレス、請求書番号が記載されています。
  2. 請求書のPDFファイルの一部が、請求書番号になっています。
  3. 請求書のPDFファイルをローカルのフォルダーに格納しています。
  4. Excelはボタンをクリックすることでフォーム表示できるようにしておきます。

フローのサンプル

メインフロー

サブフロー

完成した処理の実行動画がこちらです。

慣れた方が作成すればもっとシンプルで効率的なフローの作成ができると思います。今回、処理方法がわからないところもあり、非常にべたな方法で作成しました。これでもとりあえずは処理できますのでご容赦ください。。。

フローの解説

各プロセスのタイトルが[アクション]名になっています。左側の[アクション]の検索窓でタイトルで検索していただければピンポイントで該当のアクションが表示されます。

メインフロー

  1. フォルダー内のファイルを取得

    請求書のPDFファイルが格納されているフォルダからファイルの情報を取得し、変数[Files]に格納

  2. Excelの起動

    請求書の送付リストを起動

  3. For each

    PDFファイルを順番に処理開始

  4. ファイル パス部分の取得

    ファイル名を取得し、変数に格納

  5. サブテキストの取得

    ❹で取得した変数[FileName]から請求書番号を取得し、変数[Subtext〕に格納

  6. ウィンドウのUI要素をクリックする

    Excelをフォーム表示に変更

    本来であれば、EXCELシートからデータを取得し、値をデータテーブルに格納、そこで、❺で取得した請求書番号で検索し、マッチした、会社名、氏名、メールアドレスを取得という処理を行う予定でしたが、、、方法がわからず、Excelのシートを[フォーム]表示にすることで対応することになりました。

  7. ウィンドウ内のボタンを押す

    フォーム内の[検索条件]ボタンをクリック

  8. ウィンドウ内のボタンを押す

    フォーム内の[クリア]ボタンをクリック

  9. ウィンドウのUI要素をクリックする

    フォーム内の[請求書名]欄をクリック

  10. キー送信

    [請求書名]欄に、❺で値をセットした変数[Subtext]の値を送信

  11. ウィンドウ内のボタンを押す

    フォーム内の[次を検索]ボタンをクリック

  12. ウィンドウからデータを抽出する

    ⓫の検索結果として表示された[フォーム]内の[会社名]欄から値を取得し、変数[CompanyName]に保存

  13. ウィンドウからデータを抽出

    ⓫の検索結果として表示された[フォーム]内の[氏名]欄から値を取得し、変数[Name]に保存

  14. ウィンドウからデータを抽出

    ⓫の検索結果として表示された[フォーム]内の[メールアドレス]欄から値を取得し、変数[Email]に保存

  15. Run Subflow fieldhandling

    サブフローの[fieldhandling]を実行

  16. End

    ループ処理の終了

サブフロー

  1. ファイルの削除

    前の処理で残っているzipファイルを削除

    初回はzipファイルが存在しないので、ない場合は、このステップをスルーして次の処理に移るというエラー処理を設定

  2. ZIPファイル

    処理対象のPDFファイルからパスワード付きのzipファイルを作成し保存

  3. メールの送信

    設定したメールシステムからzip化した請求書ファイルを添付してメールを送信

  4. メールの送信

    zipファイル解凍用のパスワードをメール送信

まとめ

この作業を人が行うと以下の作業が必要です。

  1. PDFファイルのzip化
  2. 本体メールの作成と送信
  3. パスワードメールの作成と送信

対象が多いと時間もかかりますしミスも発生します。RPAを使うと最初に実行ボタンを押すだけで確実に処理を実行します。但し、作業の元になるExcelの送付リストや請求書ファイルそのものに誤りがあればお客様に誤った請求書を送付する恐れもあります。この辺は気を付ける必要があります。

例えば、以前ご紹介したCRMシステムのマスターデータを使ってメールを送信するようにすれば、Excelの送付リスト作成時のミスなども防げます。また請求データを作成している販売管理システムからマスターデータを取ってくるようにRPA上で設定すればほぼミスはなくなると思います。

追伸

今回作成したフローには送信リストと請求書のPDFファイルにアンマッチがあった場合などのエラー処理が考慮されていません。今後勉強を重ねてブラッシュアップしていきたいと思います。