はじめに
NaRuKami 運用サポーターを使用して、営業事務にて、チャットを使って見積書の社内承認をするサンプルシナリオ(以降、本サンプルシナリオ)について説明します。
本シナリオは、ユースケース紹介資料P.10「見積書の社内承認」ケースをシナリオ化したものです。ユースケースと合わせて活用ください。
本サンプルシナリオの概要
本サンプルシナリオは、以下の処理を行います。
- 指定フォルダ(未処理)に配置された見積書ファイルを検知します。
- 見積書ファイルを処理中フォルダへ移動します。
- NaRuKami 運用サポーターを使って、指定のチャットへ見積書ファイル送信とメッセージ通知します。(Slackの場合、見積書のPDFファイルを送信します。elgana/Teamsの場合、見積書のPDFファイルをPNGファイルに変換し送信します。)
- 運用サポーターを使って、チャットからの応答結果とコメントを受け取ります。
- 応答結果に従って、見積書を識別用フォルダ(承認、却下)に移動します。(elgana/Teamsの場合、変換されたPNGファイルも移動します。)
- 応答時に入力したコメントはTXTファイルで出力され、見積書が置かれたフォルダと同じ識別用フォルダ(承認、却下)に配置します。
- 指定フォルダ(未処理)に見積書ファイルがある場合は、処理を続けます。ない場合はシナリオ終了確認を行います。
使用するWinActorモジュール
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
- NRK運用サポーター/チャット送信1.3.1
- ノード/選択ボックス
- ノード/コマンド実行
- ノード/変数値コピー
- 04_自動記録アクション/エミュレーション.ums6
- 07_文字列操作/02_切り出し・分割/文字列削除.ums6
- 07_文字列操作/03_連結/文字列の連結(2つ).ums6
- 07_文字列操作/03_連結/文字列の連結(3つ).ums6
- 09_待機/指定時間待機(変数指定可).ums6
- 11_ウィンドウ関連/ウィンドウを閉じる.ums6
- 11_ウィンドウ関連/ウィンドウ前面化.ums6
- 13_ファイル関連/01_テキストファイル操作/テキストファイル書込.ums6
- 13_ファイル関連/02_ファイル操作/ファイル移動.ums6
- 13_ファイル関連/05_ファイル名/フォルダパスとファイル名の連結.ums6
- 14_入力欄操作/名前を付けて保存画面ファイル名入力.ums6
- プチライブラリ/指定したフォルダ内のファイルパスを取得するライブラリ
- プチライブラリ/ファイルパスからフォルダパスとファイル名を取得するライブラリ
- プチライブラリ/現在の年月日時分秒を取得するライブラリ
(プチライブラリはこちらからダウンロードできます)
- スイートライブラリ/変数をまとめて初期化(空文字,3つ)
- スイートライブラリ/フォルダ内のファイル数取得(フィルタ指定)
(スイートライブラリはこちらからダウンロードできます)
動作確認環境
本サンプルシナリオは以下の環境で動作を確認しています。
- Slackと連携する場合
- Windows 10、WinActor 6.3.1、Slack
- Windows 10、WinActor 7.2.1、Slack
- elgana/Teamsと連携する場合
- Windows 10、WinActor 6.3.1、elgana/Teams、ペイント、Adobe Acrobat Reader DC(32bit) 2021.005.20060
- Windows 10、WinActor 7.2.1、elgana/Teams、ペイント、Adobe Acrobat Reader DC(32bit) 2021.005.20060
制約事項
- 本サンプルシナリオを実行するには、NaRuKami 運用サポーターをご利用できる環境が必要です。NaRuKami 運用サポーターをご利用でない場合は、販売店よりお申し込みください。お申し込みについては販売店へご相談ください。
- 運用サポーターの制約事項はこちらの「サービスの提供条件」を参照ください。
- 本サンプルシナリオの制約事項は以下の通りです。
- elgana/Teamsと連携する場合は、PDFファイルをPNGファイルに変換してチャットに送信するため、Adobe Acrobat Reader DCとペイントが必要になります。
- Adobe Acrobat Reader DC をデフォルトのPDFアプリケーションに設定してください。
- elgana/Teamsをご利用される際は、PDFファイルをPNGファイルに変換してチャットに送信しますが、本サンプルシナリオでPNGファイルに変換できるのは、PDFファイルの1ページ目のみとなります。
- 見積書のファイル形式は、PDFのみです。
- シナリオ実行時には他のアプリケーションを終了させてください。
本サンプルシナリオの使い方
本サンプルシナリオの実施方法は以下の通りです。
Step1.動作環境の確認
お手元の環境が、動作確認環境に記述されている環境と同等の環境であるかご確認ください。
本サンプルシナリオを実行するには、NaRuKami 運用サポーターをご利用できる環境が必要です。NaRuKami 運用サポーターをご利用でない場合は、販売店よりお申し込みください。
Step2.運用サポーター環境の準備
NaRuKami 運用サポーターインストールマニュアルに従い、チャット接続設定ファイルの作成を実施してください。
Step3.未処理フォルダ、処理中フォルダ、識別用フォルダの作成
本サンプルシナリオを実行するために必要なフォルダを作成します。
- 未処理の見積書を配置するフォルダ(フォルダ名例:未処理)
- 処理中の見積書を配置するフォルダ(フォルダ名例:処理中)
- 承認された見積書を配置するフォルダ(フォルダ名例:承認)
- 却下された見積書を配置するフォルダ(フォルダ名例:却下)
Step4.サンプルシナリオの読み込み
ダウンロードしたサンプルシナリオのZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。
Step5.動作に必要な変数の設定・変更
本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。
以下の変数を必要に応じて設定・変更してください。
- 見積書初期配置フォルダパス
- 未処理の見積書を配置するフォルダを指定してください。絶対パスか相対パスが利用可能です。
- 見積書処理中フォルダパス
- 処理中の見積書を配置するフォルダを指定してください。絶対パスか相対パスが利用可能です。
- 識別用(承認)フォルダパス
- 承認済の見積書を配置するフォルダを指定してください。絶対パスか相対パスが利用可能です。
- 識別用(却下)フォルダパス
- 却下済の見積書を配置するフォルダを指定してください。絶対パスか相対パスが利用可能です。
Step 2.で作成したNaRuKami 運用サポーターに関するチャット接続設定ファイルパスとサンプルシナリオのZIPファイルに含まれる見積書送信用のチャット内容設定ファイルパス(チャット内容設定①ファイルパス)とユーザ応答取得用のチャット内容設定ファイルパス(チャット内容設定②ファイルパス)を変数一覧で設定します。
- チャット接続設定ファイルパス
- NaRuKamiのチャット接続設定ファイルを指定してください。絶対パスのみ利用可能です。
- チャット内容設定①ファイルパス
- 見積書送付時のNaRuKamiのチャット内容設定ファイルを指定してください。絶対パスのみ利用可能です。
- チャット内容設定②ファイルパス
- ユーザ応答取得時のNaRuKamiのチャット内容設定ファイルを指定してください。絶対パスのみ利用可能です。
サンプルシナリオを実行するために必要な変数の設定
elgana/Teamsと連携する場合は、以下の変数も指定してください。
- AdobeAcrobatReaderDCの実行ファイルパス
- Slack以外のチャットと連携する場合は【必須】。Adobe Acrobat Reader DCの実行ファイルパス(EXE形式)を指定してください。絶対パスが利用可能です。
AdobeAcrobatReaderDCの実行ファイルパスの設定
Step6.サンプルシナリオの実行
未処理フォルダに見積書を配置し、WinActorで本サンプルシナリオを実行します。
Step7.連携するチャットの選択
連携するチャットを選択するダイアログが表示されます。連携するチャットを選択します。
(ここで選択したチャットによって、PDFファイルをPNGに変換する処理が有効化(elgana/Teams)/無効化(Slack)されます。)
Step8.シナリオ終了後の確認
未処理の見積書がなくなった場合、シナリオを終了の確認ダイアログが表示されます。シナリオ終了しない場合、未処理の見積書を再検索します。
トラブルシューティング
本サンプルシナリオでエラーが発生した場合、以下を確認してください。
発生現象 |
確認内容 |
発生現象 |
以下のエラーメッセージが出力される。
ウィンドウ識別名 ○○○○○○ に一致するウィンドウが存在しませんでした。(○○○○○○には実際にシナリオで使用しているウィンドウ識別名が表示されます。)というエラーメッセージが表示される場合があります。
|
|
確認内容 |
本サンプルシナリオでは、elgana/Teamsと連携する場合、ライブラリ「エミュレーション」でAdobe Acrobat Reader DCとペイントを操作し、PDFファイルをPNGファイルに変換しています。 お手元の環境のウィンドウ情報とシナリオのウィンドウ情報に異なっている可能性がありますので、サブルーチン「PDF→PNG変換」内のライブラリ「エミュレーション」のウィンドウ識別名を再指定してください。
|
|
発生現象 |
以下のエラーメッセージが出力される。
「スクリプトの実行に失敗しました。 エラー番号: 0x000003e8 内容: 入力値に誤りがあります。」
|
|
確認内容 |
本サンプルシナリオでは、PDFファイルをPNGファイルに変換する際に、PNGファイルを保存する時間がかかる場合があるため、指定秒数待機します。 待機時間を短くし過ぎるとPNGファイルの保存が完了していない状態で、シナリオが進行するため、グループ 「NaRuKami見積書送信」の ライブラリ「チャット送信1.3.1」 でエラーが発生します。
エラーが発生する場合は、PNGファイル保存完了待ち時間の待機時間(ミリ秒)の値を大きくしてください。 値を小さくすると待機時間を短くできます。(初期値は10,000ミリ秒(10秒)となっています。)
|
|
発生現象 |
連携するチャットが想定通り動作をしない。
|
|
確認内容 |
チャット接続設定ファイルの内容やチャット内容設定ファイルの内容を再確認してください。
|
|
サンプルシナリオ解説
本サンプルシナリオで使用している実装テクニックについて説明します。
1.接続するチャットを変更する場合
接続するチャットを変更する場合は、対象のチャットについてのチャット接続設定ファイルを作成し、チャット接続設定ファイルパスの初期値にファイルパスを設定してください。
※接続するチャットを変更する場合でも、同じチャット内容設定ファイルを使うことができます。
接続するチャットを変更する場合に変更する変数
2.見積書のファイル名に特定の文字が入っていたら接続するチャットを変更させたい場合
条件ごとにチャット接続設定ファイルやチャット内容設定ファイルを指定することで、異なるチャットや通知先を指定して通知をすることができます。以下では、ファイル名に含まれている文字列を基に接続するチャットを変更する方法をご紹介します。
以下のようにファイル名に含まれる文字列によって連携するチャットを変更します。
※見積書のファイル名は○社_見積書.pdfとしています。
見積書のファイル名に「A社」が入っている場合はelganaと連携する
見積書のファイル名に「B社」が入っている場合はTeamsと連携する
それ以外の場合はSlackと連携する
以下の変数を追加します。
変数追加後、それぞれのチャットのチャット接続設定ファイルを作成し、ファイルパスを指定します。
- チャット接続設定ファイルパス(elgana)
- elgana用のNaRuKamiのチャット接続設定ファイルを指定してください。絶対パスのみ利用可能です。
- チャット接続設定ファイルパス(Teams)
- Teams用のNaRuKamiのチャット接続設定ファイルを指定してください。絶対パスのみ利用可能です。
- チャット接続設定ファイルパス(Slack)
- Slack用のNaRuKamiのチャット接続設定ファイルを指定してください。絶対パスのみ利用可能です。
追加する変数
シナリオからチャット選択グループを削除します。
処理中フォルダへ移動グループとチャット連携グループの間にファイル名から連携するチャットを動的に変更するグループを追加します。
シナリオを修正
多分岐の条件式は以下のように設定します。
分岐名「A社の場合elgana」の正規表現の値⇒.*A社.*
分岐名「B社の場合Teams」の正規表現の値⇒.*B社.*
ファイル名によって処理を変更する多分岐ノードの条件式
分岐後の処理では、連携するチャットの更新とチャット接続設定ファイルパスの更新をします。
ノード「変数値設定(連携するチャット名)」で、連携するチャットにチャット名を指定します。
連携するチャットを更新(見積書のファイル名に「A社」が入っている場合)
ノード「変数値コピー」で、各チャットの接続設定ファイルパスを、チャット接続設定ファイルパスに指定します。
チャット接続設定ファイルパスを更新(見積書のファイル名に「A社」が入っている場合)
- A社の場合elgana/変数設定(elgana)
変数名:連携するチャット
値:elgana
- A社の場合elgana/変数値コピー
コピー元変数名:チャット接続設定ファイルパス(elgana)
コピー先変数名:チャット接続設定ファイルパス
- B社の場合Teams/変数設定(Teams)
変数名:連携するチャット
値:Teams
- B社の場合Teams/変数値コピー
コピー元変数名:チャット接続設定ファイルパス(Teams)
コピー先変数名:チャット接続設定ファイルパス
- 以外/変数設定(Slack)
変数名:連携するチャット
値:Slack
- 以外/変数値コピー
コピー元変数名:チャット接続設定ファイルパス(Slack)
コピー先変数名:チャット接続設定ファイルパス