UiPath

【UiPath】データテーブルにプライマリキー(主キー)を設定する方法

データテーブルに主キーを設定します。

主キーを設定することで、変数に入れず簡単に値を取得できます。

データテーブルに主キーを設定する

以下のようなデータテーブルを例に説明します。

変数名はdtb(DataTable型)です。

社員番号(Int32) 名前(String) 部署(String) 役職(String)
1001 梅村 人事 部長
1002 田中 人事 なし
1003 中村 営業 課長

「Assign」アクティビティでデータテーブルに主キーを設定します。

左は、

DataTable型.PrimaryKey

右は複雑ですが、

New DataColumn() {DataTable型.Columns.Item(“主キーに設定する列名“)}

これで設定は完了です。

注意事項は、主キーは必ずユニーク(重複しない)で、かつNULL(空文字)は不可です。エラーになります。

主キーから値を取得する

設定した主キーから行を特定し列名から値を取得します。

取得したい行の主キーを変数に設定します。

メッセージボックスに表示します。

DataTable型.Rows.Find(取得する主キーの値).Item(“取得する列名“).ToString

上の例だと、社員番号の1002の部署を取得します。

社員番号(Int32) 名前(String) 部署(String)← 役職(String)
1001 梅村 人事 部長
1002← 田中 人事← なし
1003 中村 営業 課長

出力結果です。

社員番号1003で、名前を取得してみます。

出力結果

 

【UiPath】文字列の長さを取得する(.NET関数 Length)

VB.NETの関数、「Length」の使い方を紹介します。

Length

文字列の長さを取得します。

文字列.Length

使用例

String型の変数strに文字列を設定します。

int型の変数int1に取得した文字数を設定します。

メッセージボックスに取得結果を出力します。

※int型なので.ToStringで文字列に変換します。

実行結果

 

 

【UiPath】文字列を削除する(.NET関数 Remove)

VB.NETの関数、「Remove」の使い方を紹介します。

Remove

文字列を削除します。

文字列.Remove(数値1,数値2)

数値1⇒削除する文字位置

数値2⇒削除する文字数

使用例

String型の変数strに文字列を設定します。

Removeの設定です。

3文字目(“う”)の後から2文字(“えお”)を削除します。

実行結果

応用編

【UiPath】文字列の最後の文字を削除

 

【UiPath】文字列を挿入する(.NET関数 Insert)

VB.NETの関数、「Insert」の使い方を紹介します。

Insert

文字列を指定の位置に挿入します。

“文字列1”.Insert(数値,”文字列2″)

数値⇒挿入する文字位置

使用例

String型の変数strに文字列を設定します。

Insertの設定です。

3文字目の後に、”えお”を挿入します。

実行結果

 

 

 

【UiPath】文字列を連結する(.NET関数 Concat)

VB.NETの関数、「Concat」の使い方を紹介します。

Concat

文字列を連結します。

String.Concat(“文字列1″,”文字列2”)

使用例

2つの文字列を連結してみましょう。

実行結果

連結する文字列は複数可能です。

 

【UiPath】セレクタを取得し文字列に変換する

ロボットの処理中にセレクタを取得し、文字列に変換します。

例でYahooのスポーツナビのセレクタを取得します。

UI Explorerで取得するとこんな感じです。

セレクタを取得する

「Open Browser」アクティビティで、Yahoo!JapanのURLを設定します。

「Find Element」アクティビティでスポーツナビのセレクタを設定します。

プロパティの【FoundElement】にUiElement型の変数uiを設定します。

文字列に変換する

取得したUiElement型の変数uiを文字列に変換します。

変数(UiElement型).Selector.Text

もしくは

変数(UiElement型).Selector.ToString

メッセージボックスに表示します

実行結果

セレクタが取得できました。

全体図

 

【UiPath】PDFのページ数を取得する

PDFのページ数を取得する方法を紹介します。

使用するPDFはUiPathアカデミーでダウンロードしたものを使用します。

13ページですね。

PDFのページ数を取得する

StreamReader型の変数srに式を設定します。

new StreamReader(“PDFのパス”)

 

MatchCollection型の変数matchesに式を設定します。

regex.Matches(sr.ReadToEnd(),”/Type\s*/Page[^s]”)

メッセージボックスにPDFのページ数を表示させます。

実行結果

PDFのページ数が取得できました。

 

PDFのパス以外は丸コピーで大丈夫です。

全体図

 

 

【UiPath】今月の日数を取得する

今月の日数と、指定した年月の日数を取得する方法を紹介します。

今月の日数を取得する

Int32型変数daysCountに式を設定します。

DateTime.DaysInMonth(Now.Year,Now.Month)

Now.Year   ⇒ 現在の年を取得

Now.Month⇒ 現在の月を取得

以下の式を意味します。

DateTime.DaysInMonth(2018,9)

2018年9月の日数は30日です。

特定の年月の日数を取得する

DateTime.DaysInMonth(年,月)

年と月の部分にそれぞれ取得したい年月を設定します。

 

DateTime.DaysInMonth(1999,2)

1992年2月の日数は28日です。

【UiPath】強制的に処理を停止させる方法

特定の条件時にロボットの処理を強制終了する方法を紹介します。

停止させたい条件の時にエラーを意図的に発生させ、強制終了させます。

この方法はエラー文も自由に設定できます。

意図的にエラーを発生させる

以下のような処理フローがあります。

変数iは0なので、条件式(i > 1)はFalseです。

「Throw」アクティビティを使用し、False時は処理を停止させます。

「Throw」アクティビティの設定を行います。

new UiPath.Core.BusinessRuleException(“任意のエラーメッセージ”)

False時はエラーが発生し、設定したエラーメッセージが表示されます。

デバッグ時などに役に立ちます。

 

 

【UiPath】日付を指定の書式に変換する

日付には多くの書式があるので、指定の書式に変換できるようにしましょう。

現在の日付(2018/09/03)を取得するNow関数を使用し、変換します。

書式
“2018/09/03” Now.ToString(“yyyy/MM/dd”)
“2018/9/3” Now.ToString(“yyyy/M/d”)
“2018年09月03日” Now.ToString(“yyyy年MM月dd日”)
“18/09/03” Now.ToString(“yy/MM/dd”)
“20180903” Now.ToString(“yyyyMMdd”)
“09.03.2018” Now.ToString(“MM.dd.yyyy”)
“201809” Now.ToString(“yyyyMM”)
“2018/09/03(Monday)” Now.toString(“yyyy/MM/dd(dddd)”)
“2018/09/03(Mon)”  Now.toString(“yyyy/MM/dd(ddd)”)