UiPath

【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 プロセス スコープ(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

実行結果

【UiPath】ログメッセージのログレベルの使い分け

ログメッセージのログレベルの使い分けについて紹介します!

ログレベルの種類と意味を理解しましょう。

ログレベルの種類

ログレベル重要度出力すべきメッセージ
Trace・デバッグ時や変数の値を確認するときなど
Info・まとまった処理の開始、終了メッセージなど
Warm・処理に失敗したが、処理続行に問題ない場合のエラーメッセージなど
Error・例外発生時のエラーメッセージや、エラー調査に有益な情報など
Fatal緊急で対応が必要な致命的なエラーメッセージなど

ログレベルの使い分け

ログレベルは5段階の分けられていますが、すべて使う必要はありません。

上記の表から、最低限必要なログレベルは「Info」と「Error」のみだと私は思いますので、この2つを使い分ければよいと考えます。

プラスアルファで「Warm」を利用すると、よりログが見やすくなると思います。

【UiPath】一番簡単!DataTableの重複行を削除する方法

いちばん簡単なDataTableの重複行の削除方法を紹介します!

アクティビティ1つで簡単に削除できます。

使用するアクティビティ

UiPath.Core.Activities.RemoveDuplicateRows

サンプルフロー

サンプルのフローです。

  1. 「データテーブルを構築」でテーブルデータを作成
  2. 「重複行を削除」で重複行を削除
  3. 「データテーブルを出力」でテーブルデータを文字列に変換
  4. 「メッセージボックス」に中身を表示

「データテーブルを構築」で以下のようなデータを用意します。

1行目と3行目、2行目と5行目が重複しています。

実行結果は以下の通りです。ちゃんと重複行が削除されています。

【UiPath】フローチャートを自動でキレイにする方法

フローチャートは真っ直ぐキレイに繋ぎたい派です!

たまに、ぐちゃぐちゃで矢印重なりまくっている人いるので、そんな人に使ってほしい機能です。

右クリックで簡単に自動整列できるので紹介します。

フローチャートを自動整列

以下のように微妙に曲がっているフローチャートをキレイにします。

右クリックすると「自動整列」があるのでクリックします。

矢印が真っ直ぐに修正されました!

最後の仕上げに使ってください!