UiPath

【UiPath】データテーブルの中身を簡単に確認する方法

データテーブルの中身を一番早く確認する方法を紹介します。

DataTable型をString型(文字列)に変換し、メッセージボックスに表示します。

データテーブルの中身の確認

テスト用に「Build Data Table」アクティビティでDataTable型の変数dtbを作成します。

「OutPut Data Table」アクティビティにDataTable型と出力するString型の変数を設定します。

データテーブルを文字列に変換します。

メッセージボックスにString型の変数を設定します。

実行結果

データテーブルの中身が表示されました。

全体図

【UiPath】文字列を置換する(.NET関数 Replace)

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

Replace

文字列を置換します。

“文字列1”.Replace(“文字列2″,”文字列3”)

文字列1⇒対象文字列

文字列2⇒置換される文字列

文字列3⇒置換する文字列

使用例

文字列1⇒あいうえおかきくけこ

文字列2⇒えおか

文字列3⇒ABC

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

Replaceの設定です。

文字列2“えおか”を文字列3“ABC”に置換します。

実行結果

一括置換

置換対象文字列が複数存在する場合、一括置換されます。

実行結果

【UiPath】Excelのシートをコピーする方法

モダンデザインのExcelアクティビティ「シートを複製」の使い方を説明します。

Excelのシートをコピーしたい時に使用するアクティビティです。

使用アクティビティ

Excel プロセス スコープ(UiPath.Excel.Activities.ExcelProcessScopeX)

Excel ファイルを使用(UiPath.Excel.Activities.Business.ExcelApplicationCard)

サンプルフロー

手順①「Excelプロセススコープ」の中に、「Excelファイルを使用」を配置

シートコピー後の状態を保存したいので、[変更を保存]にチェックを入れます。

手順②「Excelファイルを使用」の中に「シートを複製」を配置

[複製するシート]にはコピーするシートを指定します。

[複製するシート]に[参照名]のExcelを入力し、「.」を入力するとシート名の一覧が表示されますので、コピーしたシート名を選択します。

[新しいシート名]にコピー後のシート名を指定します。

手順③実行結果

シートがコピーされています。

【UiPath】Excelアクティビティ「フィルター」の使い方

モダンデザインのExcelアクティビティ「フィルター」の使い方を説明します。

Excelファイルにフィルターしたい時に使用するアクティビティです。

フィルター結果の出力機能はありません。

使用アクティビティ

Excel プロセス スコープ(UiPath.Excel.Activities.ExcelProcessScopeX)

Excel ファイルを使用(UiPath.Excel.Activities.Business.ExcelApplicationCard)

使用データ

サンプルで都道府県のデータを使用します。

サンプルフロー

手順①「Excelプロセススコープ」の中に、「Excelファイルを使用」を配置

フィルター後の状態を保存したいので、[変更を保存]にチェックを入れます。

手順②「Excelファイルを使用」の中に「フィルター」を配置

[ソース]にはフィルターの範囲を指定します。

今回はシート全範囲を設定します。

B列の「都道府県」列を入力します。

手順③[フィルター設定]の条件を設定

[フィルター設定]で条件を指定します。

基本フィルター次の値に等しい北海道を設定します。

これで準備は完了です。

手順④実行結果

ファイルを開くと、条件通りにフィルターされています。

補足

高度なフィルター次を含むを指定します。

実行結果

【UiPath】データテーブル(DataTable)の列数を取得する

データテーブルの列数を取得する方法を紹介します。

行数の取得は以下の記事で紹介しています。

【UiPath】データテーブル(DataTable)の行数を取得する

https://zawanii.com/uipath-datatable-rows-count/

列数を取得

構文は以下です。

以下のようなデータテーブルがあるとします。

変数名はdtとし、列数は3です。

Noフルーツ
1バナナ黄色
2りんご
3みかんオレンジ

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

実行結果

【UiPath】Excelを読み込む方法(モダンアクティビティ)

クラシックデザインならExcelアプリケーションで簡単に読み込めるのに・・・モダンデザインはよくわからん!!!

という方向けの記事です。

Excelを高速で読み込む方法は以下で紹介しています。

使用アクティビティ

Excel プロセス スコープ(UiPath.Excel.Activities.ExcelProcessScopeX)

Excel ファイルを使用(UiPath.Excel.Activities.Business.ExcelApplicationCard)

範囲を読み込み(UiPath.Excel.Activities.Business.ReadRangeX)

サンプルフロー

手順①「Excelプロセススコープ」を配置

プロパティは全て「プロジェクトと同じ」で問題ありません。

「プロジェクトと同じ」はプロジェクト設定で事前に設定されているものを使用するという意味です。

特に設定は変えなくてOKです。

手順②「Excel ファイルを使用」を「Excelプロセススコープ」の中に配置

[Excelファイル]に読み込みたいファイルのフルパスを設定します。

[参照名]は既定値でExcelと入っていますが、そのままでOKです。

このExcelには、シート名などのファイル情報が入っています。(ただの変数なので名前は何でもOK)

今回は読む込むだけなので、[読み取り専用]にチェックを入れましょう。

手順③「範囲を読み込み」を「Excelファイルを使用」の中に配置

[範囲]に[参照名]のExcelを入力し、「.」を入力するとシート名が表示されますので、読み込みたいシート名を選択します。

今回は全範囲読む込むので、シート名のみでOKです。

[保存先]に読み込んだ値を格納する、DataTable型変数を設定すれば完了です。

範囲を指定したい場合

読み込み範囲を指定したい場合は、シート名の後にRangeで設定します。

【UiPath】リトライスコープの誤った使い方(メール送信)

Retry Scope(リトライスコープ)はとても便利なアクティビティですよね。

失敗した操作を簡単に再処理できるので、つい多様しがちですが、適切な処理のみに使用すべきです。

私が実際の現場で遭遇した、誤ったリトライスコープの実例を紹介します。

メール送信にリトライスコープ

メール送信に失敗した場合に備え、リトライスコープで囲む・・・

これはよくない使い方だと私は思います。

メール送信に失敗するケースとはどのような場合か考える必要があります。

・メールアドレスが空欄、無効

・添付ファイルがサイズオーバー

・ネットワークが繋がっていない

などが代表的な原因かと思われますが、リトライしたら成功するのでしょうか?

無効なアドレス、サイズオーバーな状態でメール送信をリトライしても、失敗するので無駄です。

同じメールを重複して送信してしまう原因にもなってしまいます。(実際にお客様から同じメールが届くと問い合わせがありました・・・)

当然ですが、メールアドレスやファイルサイズは、事前に適切かチェック処理を入れるのが良いかと思います。

また、ネットワークの問題は運用側の問題なので、ロボ側で考慮は不要でいいかと思います。

【UiPath】初心者必見!ブレークポイントについて解説

ブレークポイントの赤丸、白丸の違いは?

そもそもブレークポイントって何って方向けの記事です!

ブレークポイントについて

ブレークポイントとは、デバッグ実行を任意のアクティビティで中断することができる機能です。

ブレークポイントを設定すると、デバッグ実行中に設定したアクティビティの処理手前で止まります。

例えば、以下のフローのように2番目のアクティビティにブレークポイントを設定します。

この状態でデバッグ実行をすると、2番目のアクティビティ実行前で止まります。

ブレークポイントの赤丸、白丸の意味

  1. 何もなし
  2. 赤丸
  3. 白丸

1番目は、ブレークポイントが設定されていない状態です。

この状態で実行すると、2番目のみブレークポイントが有効なので、2番目のアクティビティ実行前で止まります。続行しても、3番目のブレークポイントは無効のため止まりません。

【UiPath】「検索して置換」の使い方

アクティビティ「検索して置換」を使い、文字列を置換する方法を紹介します!

使用アクティビティ

UiPath.Activities.System.Text.FindAndReplace

サンプルフロー

「あいうえお」の「う」を「@」に置換して、置換後の文字列をメッセージボックスに表示します。

「検索して置換」アクティビティの設定するプロパティは以下の項目です。

【ソーステキスト】 ・・・・ 置換前の文字列

⇒ あいうえお

【検索する値】 ・・・・・・ 置換対象の文字列

⇒ う

【次で置換】 ・・・・・・・ 置換文字列

⇒ @

【更新後のテキスト】・・・・ 置換後の文字列

⇒ 変数「str」

メッセージボックスに置換後の文字列変数を格納した「str」を設定します。

実行結果

補足

よって、実行結果は「あい@え@」になります。

【UiPath】括弧の中身だけを取得する方法

(あいうえお)

上記のように括弧で囲まれた文字の中身だけを取得する方法を紹介します!

使用アクティビティ

UiPath.Core.Activities.Matches

サンプルフロー

「一致するパターンを探す」で括弧の中身だけを取得し、「メッセージボックス」に表示させます。

「一致するパターンを探す」のプロパティを設定します。

「検索対象のテキスト」に括弧を含む文字列を設定します。

⇒ (あいうえお)

「パターン」に正規表現の値を設定します。

⇒ (?<=().*(?=))

「結果」に括弧を除いた文字列を格納する変数を設定します。

⇒ result

「一致するパターンを探す」アクティビティの設定は以上です。

メッセージボックスに表示するための注意点として、変数「result」を文字列に変換する必要があります。

そのため、「メッセージボックス」には以下のように設定します。

result(0).toString

実行結果