Web Analytics Made Easy - StatCounter

Economics Of TEC

RPA,経済学,IT技術などに関する情報を発信しています。

【UiPath】データテーブルに他のデータテーブルのデータを追加する方法

f:id:WillSpecter:20200819150807p:plain

 やりたいこと

データテーブルに他のデータテーブルのデータを追加する

 以下にDataTable型の変数dt従業員dt海外従業員があるとします。

【dt従業員】

f:id:WillSpecter:20200705155401p:plain

【dt海外従業員】

f:id:WillSpecter:20200815121554p:plain

ForEachRowdt海外従業員を1行ずつ読み込んで、性別が男だったら

dt従業員にデータを追加するという処理を行いたいと思います。

 

条件にあった行だけを追加するので、MergeDataTableアクティビティは使用できません。

また、以前紹介したAddDataRowアクティビティも今回のようなケースでは使用することができません。

it-rpa.hatenablog.com

InvokeMethodアクティビティを使用する

 今回の処理ではInvokeMethodアクティビティを使用します。

やりたいことがアクティビティを使ってできない時などに、メソッドを呼び出すことができます。

実際にどんなことができるのかやってみましょう。

 

今回はInvokeMethodアクティビティを使ってImportRowメソッドを呼び出したいと思います。

処理手順

①ForEachRowアクティビティをセットして、dt海外従業員を1行ずつ繰り返す

②Ifアクティビティをセットして条件にrow海外従業員("性別").ToString = "男"を代入

③②の結果がTrueの場合にInvokeMethodアクティビティを配置

 

①~③の手順のフローは以下の通りです。

f:id:WillSpecter:20200819155842p:plain

 InvokeMethodアクティビティのプロパティを確認しましょう。

 

ターゲットオブジェクトにはデータ追加先であるdt従業員を入力します。

メソッド名にはImportRowと入力しましょう。

f:id:WillSpecter:20200819163708p:plain

 パラメーターには方向・型・値を入力する必要があります。

方向は入力を設定します。

 

型とはrow海外従業員の型のことなのでDataRow型を設定します。

f:id:WillSpecter:20200819165509p:plain

値はForEachRowで設定しているrow海外従業員を入力します。

 

処理手順は以上となります。

ForEachRowを抜けた後で再度dt従業員の書き込みをしてみると、、

結果↓

f:id:WillSpecter:20200819164305p:plain

このように性別が男のデータを追加することができます(^^)/ 

ひとこと

 InvokeMethodアクティビティは他にも様々なメソッドを使うことができます!

うまく使うことができれば開発の幅がぐっと広がりそうです。

 

今後、別のメソッドも紹介していきたいと思います!

また、おすすめのメソッドがあれば教えていただけると嬉しいです!(^^)!