UiPath

【UiPath】Excelの読み込みを高速化する

Excelの読み込みは、デフォルトのプロパティ設定を少し変更するだけで高速化できます。

Excelの読み込み速度が遅くて悩んでいる方向けの記事です!

速度検証

5000行、156列のExcelデータ(3.12 MB)で読み込み速度の検証をしました。

使用アクティビティは「範囲を読み込み」です。

#設定読み込み完了時間
「表示行のみ」のチェックあり
「読み込み値の書式」が「(null)」
00:53:57
「表示行のみ」のチェックなし
「読み込み値の書式」が「(null)」
00:55:32
「表示行のみ」のチェックあり
「読み込み値の書式」が「RawValue」
00:39:08
「表示行のみ」のチェックなし
「読み込み値の書式」が「RawValue」
00:00:03

検証結果

結論、④の設定が圧倒的に速いです。

速度改善が凄まじく、爆速で読み込みが完了しました・・・!!

プロパティの設定はめっちゃ重要ですね!!

#①デフォルト(表示行あり、読み込み値null)

#②表示行なし、読み込み値null

#③表示行あり、読み込み値RawValue

#④表示行なし、読み込み値RawValue

【UiPath StudioX】シーケンスの代わりのアクティビティを紹介

Studioで開発していたら「シーケンス」は必ず使いますが、StudioXでは「シーケンス」がありません・・・

え、「シーケンス」ないとかStudioX無理・・・って方向けの記事です。

はい、確かに検索しても出てこないですね・・・

どうやらアクティビティ名がStudioXでは変更されているみたいです。

その名は「グループ」

https://docs.uipath.com/ja/activities/other/latest/workflow/sequence

「シーケンス」と機能は全く同じです。

【UiPath StudioX】StudioからStudioXに切り替える方法

StudioからStudioXに切り替える方法を紹介します。

プロファイルを選択するだけです。

切り替え手順

手順①Studioを起動し、「設定」→「ライセンスとプロファイル」→「プロファイルを変更」をクリックする

手順②「UiPath StudioX」をクリックする

手順③再起動確認画面で「はい」をクリックする

手順④StudoXに切り替え完了

【UiPath】起動されたオブジェクトはクライアントから切断されました。の対応策

UiPathのExcel操作で以下のエラーに遭遇した方も多いのではないでしょうか?

RemoteException wrapping UiPath.Excel.ExcelException: 起動されたオブジェクトはクライアントから切断されました。 (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))

連続でExcelを起動したり、処理速度が早すぎると発生するようですが、毎回エラーになるわけではないので対応策が分からない・・・

そんな方向けの記事となります。

対応策

プロジェクト設定で、Excelモダンの「Excelプロセススコープ」の設定を変更します。

既存のプロセスに対するアクションで「実行時の値」「デバッグ時の値」どちらも、

Excelを起動するたびに、既存プロセスは強制終了されるので、エラーが発生しなくなりました。

Delayやプロセスキルだとエラーが解消しなかったので、こちらの方法が私の中ではベストです。

【UiPath】連続するスペースを1つにまとめる方法

BizRobo!の関数で「連続するスペースを1つにまとめる」機能があるので、UiPathで実装する方法を紹介します。

やりたいこと

str = "aaa       iiii   u    eee"

↓連続する空白を1つにまとめる↓

str = "aaa iii u eee"

実装例

正規表現で実装しますので、「一致するパターンを置換」アクティビティで以下を設定します。

パターン ⇒ ” +”

置換後のテキスト ⇒ ” “

連続した半角スペースを1つの半角スペースに置換します。

実行結果

補足

全角スペースも対象の場合の正規表現は以下です。

パターン ⇒ [  ]+

【UiPath】マクロの実行方法(モダン)

モダンデザインでマクロを実行する方法を紹介します。

事前準備

実行するマクロファイルのコードは以下です。

メッセージボックスに「Zawanii」と出力します。

Sub Example1()
    Dim msg As String
    msg = "Zawanii"
    MsgBox msg
End Sub

全体フロー

マクロ実行アクティビティ

モダンデザインでマクロを実行するアクティビティは「スプレッドシートのマクロ実行」です。

元のブック

⇒「Excelファイルを使用」の参照名

マクロ名

⇒実行するマクロ名

実行結果

【UiPath】プロジェクト名の取得方法

プロジェクト名の取得方法を紹介します。

全体フロー

手順①project.jsonを読み込み

「テキスト ファイルを読み込み」でproject.jsonファイルを読み込みます。

プロジェクト名は「Zawanii」です。

手順②json形式に変換

①で読み込んだ変数を「JSONを逆シリアル化」でjson形式に変換します。

手順③プロジェクト名を取得

②で変換したjson形式の変数から「name」を取得します。

手順④出力結果

プロジェクト名が出力されます。

補足

プロジェクトの説明を取得したい場合は「description」を指定します。

studioのバージョン取得は「studioVersion」です。

【UiPath】本番環境で動作しない時に確認すること

開発環境だと問題なく動くのに、本番・運用環境だとエラーになる・・・

このような場合ロボのワークフローではなく、環境周りが主な原因となります。

エラー解消に向け確認すべきポイントを4つ紹介します!

①アクセス権限の付与

本番環境から、対向システム、共有ドライブなどにアクセスできるか確認します。

②アプリのインストール

必要なアプリ、拡張機能などがインストールされているか確認します。

また設定も開発環境と揃えます。

(例)Chromeのダウンロード設定が開発環境と同じか

③解像度を合わせる

開発環境と本番環境の解像度を同じにしましょう。

解像度が異なると、画像認識アクティビティを利用している場合はエラーになる確率が上がります。

④PCのスペックを同じにする

CPU、メモリなどのスペック差があることで、処理速度の違いによるエラーなどが発生することがあります。

スペックを揃えるのが難しい場合は、処理前後の待機時間を見直しましょう。

【UiPath】対応OSの確認方法

project.jsonファイルで確認することができます!

確認方法

project.jsonファイルをメモ帳で開き、”targetFramework”の値が対応OSとなります。

下記の画像はWindowsプロジェクトです。

クロスプラットフォームは「Portable」、レガシーは「Legacy」と表示されます。

【UiPath】特定の文字列と文字列の間を抽出(正規表現)

特定の文字列と文字列の間の文字列を正規表現で抽出する方法を紹介します。

例①として、”2018年9月2日”という文字列から、””と””の間の”2“だけを取得します。

例②として、”ABCDEFGHIJKLMN”いう文字列から、”C”と”L”の間の”DEFGHIJK“だけを取得します。

どちらも「一致するパターンを探す」アクティビティを使用し、「メッセージボックス」に表示させます。

正規表現を使用しない方法は以下の記事で紹介しています。

【UiPath】特定の文字列と文字列の間を抽出する

①特定の文字列と文字列の間を抽出する

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

[検索対象のテキスト]に対象文字列を設定します。

⇒ 2018年9月2日

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

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

⇒ result

メッセージボックスに表示するため、文字列に変換します。

実行結果

②特定の文字列と文字列の間を抽出する

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

[検索対象のテキスト]に対象文字列を設定します。

⇒ ABCDEFGHIJKLMN

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

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

⇒ result

実行結果