WinActorシナリオ作成の基礎 複数のExcelファイルに入力された経費申請情報を自動でERPに入力する

本記事では当社内の業務で利用する際に作成したWinActorのシナリオに基づき説明したいと思います。当社管理部メンバーに、WinActorでどのような作業を自動化すると便利かヒヤリングしたところ、いくつか意見がありました。

今回はその中から「複数のExcelファイルに入力された経費申請情報(以下、経費ファイルと表記)を自動でERPに入力する」というシナリオ作成を行いました。

 

シナリオの流れ

シナリオの流れをご紹介します。

 

1.システムにログインする

2.経費申請画面を開く

3.指定されたフォルダの1番上に置いてある経費ファイルを取得する

4.経費申請の基本情報をシステムに入力する

5.経費申請の経費明細をシステムに入力する

6.入力完了フォルダに経費ファイルを移動する

※「シナリオの流れ」3~6を繰り返し、指定されたフォルダに経費ファイルが無くなるとシナリオが終了します。

 

経費申請の入力は、当社のクラウドERP MA-EYESを使っています。

シナリオの動画は以下を見てください。

 

 

「シナリオの流れ」1、2は利用するシステムによって手順が異なりますので、説明は「シナリオの流れ」3から行います。

「シナリオの流れ」3からのシナリオは以下になります。

 

指定されたフォルダの1番上にある経費ファイルを取得する

経費ファイルを取得するために、ノード「先頭ファイルの取得」のプロパティを開き、指定のフォルダの1番上にあるファイル名(絶対パス)を取得する設定を行います。

※あらかじめ伝票種別ごとの経費ファイルを指定のフォルダに置いておきます。

※ライブラリ「13_ファイル関連」内のノード「先頭ファイルの取得.ums6」を使用してます。

続いて、経費申請の際に必要な以下の基本情報を取得します。

(1)伝票種別

(2)伝票日付

(3)メインPJ(プロジェクト)コード

(1)、(3)は経費ファイルより取得し、(2)は当月の末日を取得します。

また、基本情報取得のシナリオは以下の通りです。

※本シナリオで、MA-EYESの経費申請画面(下図)から取得する基本情報は、伝票種別、伝票日付、メインPJコードです。

(1)伝票種別

MA-EYESでは伝票種別をプルダウンで選択する仕様です。伝票種別のプルダウンを開いたときの画面は以下の通りです。

また、本シナリオで使用している経費ファイルの中で、旅費交通費精算の経費ファイルは以下のようになっています。

以上の情報より、伝票種別に入力する値を取得するために「伝票種別選択Down回数ノード」のプロパティの設定を行います。

※ライブラリ「18_Excel関連」内のノード「Excel操作(値の取得2).ums6」を使用しています。

 

(2)伝票日付

伝票種別は当月の月末で入力を行います。

当月末の日付を取得する方法の詳細は「WinActorシナリオ作成の基礎 日付関連ライブラリのご紹介」を参照ください。

 

伝票日付を取得するシナリオは以下のようになります。

(3)メインPJコード

メインPJコードについても伝票種別と同様にプルダウンで選択する仕様となっているため指定されたExcelファイルのセルの値を取得する設定を行います。

※ライブラリ「18_Excel関連」内のノード「Excel操作(値の取得2).ums6」を使用しています。

 

ここまでで経費申請に必要な基本情報の取得が完了しました。

取得した情報を次の「経費申請の基本情報をシステムに入力する」で使用します。

 

経費申請の基本情報をシステムに入力する

経費申請の基本情報は以下の順で入力を行います。

(1)伝票種別

(2)伝票日付

(3)メインPJコード

 

(1)伝票種別

伝票種別を入力するシナリオは以下になります。

「キーボード操作/Downノード」はライブラリ「04_自動記録アクション」内のノード「エミュレーション.ums6」を使用しており、以下のように設定を行います。

(2)伝票日付

伝票日付を入力するシナリオは以下になります。

3)メインPJコード

メインPJコードを入力するシナリオは以下になります。

ここまでで、経費申請の基本情報の入力が完了しました。

 

経費申請の経費明細をシステムに入力する

本記事でご紹介しているシナリオは伝票種別によって入力項目が異なるため、【多分岐】を使用しています。

多分岐は、特定の条件で作業を分岐させたいときに使用します。分岐の“True”、“False”の2択で表せない、3つ以上の条件に分かれる場合は多分岐を使用します。それぞれの条件を設定し、どれにも当てはまらなければ、「以外」という処理を実行します。

シナリオの流れは以下の通りです。

①分岐の条件式から実行する処理を決定する

②指定の経費ファイルからデータを取得する

③経費明細入力欄にデータを入力する

④経費明細を保存し、新規画面を開く

 

①多分岐の条件式から実行する処理を決定する

多分岐を使用したシナリオは以下になります。

多分岐によって、「旅費交通費明細を入力する処理」、「経費精算明細を入力する処理」、「何も行わない処理」に分かれており、条件式によってどの処理が行われるかが決定されます。

多分岐のプロパティを開き、分岐条件を設定します。

分岐_1の「条件式設定」を開きます。

 

【値1】には「伝票種別選択Down回数」という変数を選択します。

【比較演算子】には「等しい」を選択します。

【値2】には「4」を入力します。

これは「“伝票種別選択Down回数” という変数に格納されている値が“4”と等しい場合、分岐_1の処理を行う」という条件式になります。

続いて、分岐_2の「条件式設定」を行います。

【値1】には「伝票種別選択Down回数」という変数を選択します。

【比較演算子】には「等しい」を選択します。

【値2】には「8」を入力します。

これは「“伝票種別選択Down回数” という変数に格納されている値が“8”と等しい場合、分岐_2の処理を行う」という条件式になります。

 

②指定の経費ファイルからデータを取得する

経費明細を入力する際に必要な情報を取得します。

入力対象の経費ファイルからデータを読み取るシナリオは以下のようになります。

※MA-EYEの経費明細入力欄は以下のようになっており、取得した値を③で入力します。

 

経費明細入力欄に入力する値を取得するために「Excel操作(行の読み取り)」のプロパティを設定します。

※ライブラリ「18_Excel関連」内のノード「Excel操作(行の読み取り).ums6」を使用します。

ノード「Excel操作(行の読み取り).ums6」のプロパティはデフォルトの場合、【A列】~【E列】を取得する設定となっています。

取得したい値は経費ファイルの【C列】【E列】【F列】【G列】【H列】【I列】【J列】【K列】ですのでプロパティの「スクリプト」タブを開き以下のように修正します。

 

③経費明細入力欄にデータを入力する

データの入力を行うシナリオは以下になっています。

分岐の「条件式」を設定します。

【値1】には先程作成した変数から「経費日付」を選択します。

【比較演算子】には「等しい」を選択します。

【値2】には何も入力せず「空欄」となるように設定します。

これは「経費日付という変数に格納されている値が空欄と等しい場合、“True”の処理を行う」という条件式になります。

つまり経費ファイルのデータをすべて転記し終え、空欄のセルを取得した場合、“True”の処理が行われ、繰り返しが終了します。

それまでは“False”の処理が無限ループします。

 

それでは、②で読み取ったデータを色々な方法で入力、選択していきます。

・クリップボードに値を設定し、貼り付ける

クリップボードを使用して値を貼り付けるシナリオは以下の通りです。

読み取ったデータをコピーして貼り付ける場合は、まずクリップボードに値を記憶させます。

ここでは「経費日付」に格納されている値が設定されます。

続いて画像マッチングで貼り付ける位置を指定し、エミュレーションで貼り付けます。

データを貼り付ける位置を空欄にし(Ctrl+ADelete)、貼り付ける設定(Ctrl+V)を行います。

・プルダウン形式の場合の値の入力方法

MA-EYESでは費目を入力する項目が経費申請の基本情報「伝票種別」、「メインPJコード」と同様にプルダウン形式です。

プルダウン形式の場合に値を入力するシナリオは以下になります。

ノード「繰り返し」のプロパティを開き、設定を行います。

「費目選択Down回数」の値分エミュレーションでカーソルキーの↓を押す操作を繰り返し、伝票種別を選択する設定を行います。例えば回数が4の場合、プルダウンの上から4つ目の項目を選択する操作が行われます。

・チェックボックスの有無を判別する方法

チェックボックスの有無を判別するシナリオは以下の通りです。

分岐の「条件式」を設定します。

これは「領収書有無という変数に格納されている値が“あり”と等しい場合、“True”の処理を行う」という条件式になります。ここでは“True”の場合に画像マッチングでチェックボックスにチェックをいれる操作が設定されています。

④経費明細を保存し、新規画面を開く

データを保存し、新規画面を開くシナリオは以下の通りです。

こちらで重要な操作は、明細読み取り行数をリセットする操作が行われることです。

「変数値設定」のプロパティを開き、次のファイルで読み取りを開始する行数を初期値に戻すための設定を行います。

今回のシナリオでは2行目から明細を読み取るので値は「2」と設定します。

※ノード「変数値設定」を使用しています。

 

ここまでで、経費ファイルのデータが経費明細入力欄に入力されました。

 

入力が完了した経費ファイルを入力完了フォルダに移動する

入力が完了した経費ファイルのフォルダを移動するシナリオは以下の通りです。

ノード「ファイル移動」のプロパティを開き、入力が完了した経費ファイルを入力完了フォルダに移動する設定を行います。

移動したいファイル名(絶対パス)と、移動先のフォルダ名(絶対パス)を設定します。

※ライブラリ「13_ファイル関連」内のノード「ファイル移動.ums6」を使用しています。

 

この「シナリオの流れ」3~6の一連の流れを経費明細格納フォルダに経費ファイルが無くなるまで繰り返します。今回のシナリオでは経費ファイルのデータの入力が完了すると、分岐で“Ture”の処理が実行されて繰り返しが終了します。分岐_3、分岐_4と分岐を増やすことで転記する経費ファイルを増やすことが可能です。

 

本記事では「複数の経費ファイルを入力する」というシナリオを題材として多分岐のノードをご紹介しました。この他にも、多分岐を使用することで条件によって処理が異なる二つ以上の業務を1つのシナリオで自動化することが可能となりますので、ぜひ実際に活用してみてください。また、本記事の他にも様々なパターンでシナリオ作成をご紹介しています。これらの記事が皆様のシナリオ作成のお力になれば幸いです。

 

筆者プロフィール

hiroki
hirokiビーブレイクシステムズ
ERP「MA-EYES」RPA「WinActor」などのITツール営業担当をしております。
豚骨ラーメンが大好きです。