UiPath

【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】フローチャートを自動でキレイにする方法

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

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

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

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

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

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

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

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

【UiPath】初心者必見!「Null」と「空白」の違いをわかりやすく解説

「Null」と「空白」の違いって最初は混乱しますよね。。。

具体例を出しながら、なるべくわかりやすく説明します!

Nullとは

「Null」とは、何もない、つまり「存在しない」ことを示す特別な値です。

例えば、String型の変数に値が設定されていない場合、その値はNullになります。

画像に alt 属性が指定されていません。ファイル名: image-6.png

「str」変数を宣言し、既定値を設定せず、メッセージボックスに「Length」メソッドで文字数を表示させようとします。

実行すると以下のようにエラーになります。

画像に alt 属性が指定されていません。ファイル名: image-7.png

何もない変数の文字数は表示できないので、「Length」メソッドが失敗しました。

Nullに対してメソッドを呼び出しすると、System.NullReferenceExceptionが発生します。

メソッドを利用する時は、必ず変数に値が入っている必要があります。

空白とは

「空白」とは、何か存在はするものの、その中身が空っぽであることを示します。

例えば、String型の変数に“”(空の文字列)が設定されている場合、その変数は空白となります。

画像に alt 属性が指定されていません。ファイル名: image-8.png

「str」変数を宣言し、既定値に“”(空の文字列)を設定し、メッセージボックスに「Length」メソッドで文字数を表示させようとします。

実行すると以下のように文字数が表示されます。

画像に alt 属性が指定されていません。ファイル名: image-9.png

Nullとは違い、“”(空の文字列)は値と認識されるため、メソッドが利用できます。

値は入っているけど、文字は設定されていないので、文字数は0文字となります。

【UiPath】Excelの列番号をアルファベットに変換する

エクセルの列番号をアルファベットに変換する方法を紹介します。

1⇒A

10⇒J

100⇒CV

…という感じです。

使用アクティビティ

・「Do While」

・「Assign」

・「Message Box」

手順

変数i(int32型)に列番号を指定します。

今回は50を指定します。50はAXに変換されます。

次に「Do While」アクティビティの中に、「Assign」アクティビティを3つ用意します。

上から、

①「Assign」
i = i -1

②「Assign」
alphabet = Chr(i Mod 26 + 65) & alphabet
※alphabetはString型変数

③「Assign」
i = i \ 26

条件式は

i > 0

と設定します。

「Message Box」に変数alphabetを表示します。

変換結果

以上です。

【UiPath】「Rethrow」アクティビティの使い方

「Rethrow」とは

エラー再発生させるアクティビティです。

「Try Catch」アクティビティのCatchの中でのみ使用できます。

「Rethrow」の使い方

「Try Catch」のCatchの中に設置します。プロパティの設定はありません。

実行し、Tryで発生したエラーを、「Rethrow」で再発生させ、処理を停止します。

【UiPath】指定地域(タイムゾーン)の時刻を取得する

指定地域(タイムゾーン)の時刻を取得する方法です。

日本(Tokyo)の時刻を取得し、米国(Hawaiian)の時刻に変換します。

TimeZoneInfo型

TImeZoneInfo型の変数を用意します。

日本(Tokyo)と米国(Hawaiian)で2つ変数を用意します。

タイムゾーン情報設定

日本(Tokyo)と米国(Hawaiian)のタイムゾーン情報を変数に設定します。

Tokyo_Time = TimeZoneInfo.FindSystemTimeZoneById(“Tokyo Standard Time”)

Hawaiian_Time = TimeZoneInfo.FindSystemTimeZoneById(“Hawaiian Standard Time”)

※取得したいタイムゾーンIDを赤字に設定

時刻を取得

日本(Tokyo)の現在時刻を取得します。

DateTimeOffset型の変数timeに設定します。

time = New DateTimeOffset(Now(), Tokyo_Time.BaseUtcOffset)

※現在時刻を2018/10/17 23:30:59とします

 

時刻を変換

取得した日本(Tokyo)時刻を米国(Hawaiian)の時刻に変換し、メッセージボックスに出力します。

TimeZoneInfo.ConvertTime(time, Hawaiian_Time).ToString

タイムゾーンID一覧

UTC-11

Samoa Standard Time

Hawaiian Standard Time

Alaskan Standard Time

Pacific Standard Time (Mexico)

Pacific Standard Time

US Mountain Standard Time

Mountain Standard Time (Mexico)

Mountain Standard Time

Central America Standard Time

Central Standard Time

Central Standard Time (Mexico)

Canada Central Standard Time

SA Pacific Standard Time

Eastern Standard Time

US Eastern Standard Time

Venezuela Standard Time

Paraguay Standard Time

Atlantic Standard Time

Central Brazilian Standard Time

SA Western Standard Time

Pacific SA Standard Time

Newfoundland Standard Time

E. South America Standard Time

Argentina Standard Time

SA Eastern Standard Time

Greenland Standard Time

Montevideo Standard Time

UTC-02

Mid-Atlantic Standard Time

Azores Standard Time

Cape Verde Standard Time

Morocco Standard Time

UTC

GMT Standard Time

Greenwich Standard Time

W. Europe Standard Time

Central Europe Standard Time

Romance Standard Time

Central European Standard Time

W. Central Africa Standard Time

Namibia Standard Time

Jordan Standard Time

GTB Standard Time

Middle East Standard Time

Egypt Standard Time

Syria Standard Time

South Africa Standard Time

FLE Standard Time

Israel Standard Time

E. Europe Standard Time

Arabic Standard Time

Arab Standard Time

Russian Standard Time

E. Africa Standard Time

Iran Standard Time

Arabian Standard Time

Azerbaijan Standard Time

Mauritius Standard Time

Georgian Standard Time

Caucasus Standard Time

Afghanistan Standard Time

Ekaterinburg Standard Time

Pakistan Standard Time

West Asia Standard Time

India Standard Time

Sri Lanka Standard Time

Nepal Standard Time

Central Asia Standard Time

Bangladesh Standard Time

N. Central Asia Standard Time

Myanmar Standard Time

SE Asia Standard Time

North Asia Standard Time

China Standard Time

North Asia East Standard Time

Singapore Standard Time

W. Australia Standard Time

Taipei Standard Time

Ulaanbaatar Standard Time

Tokyo Standard Time

Korea Standard Time

Yakutsk Standard Time

Cen. Australia Standard Time

AUS Central Standard Time

E. Australia Standard Time

AUS Eastern Standard Time

West Pacific Standard Time

Tasmania Standard Time

Vladivostok Standard Time

Central Pacific Standard Time

New Zealand Standard Time

UTC+12

Fiji Standard Time

Kamchatka Standard Time

Tonga Standard Time

 

【UiPath】「Send Hotkey」でスペース(Space)の設定方法

アクティビティ「Send Hotkey」でスペースを設定する方法です。

Keyの中に[space]はありません。

スペース(space)の設定方法

Keyの部分に” “を設定します。

ショートカットキー「Alt + Space + c」でメモ帳を閉じてみます。

メモ帳を開き、セレクタを設定し、Keyを設定します。

実行するとメモ帳が閉じます。

【UiPath】VB.NET関数一覧(パス関連)

パス関連で使用するVB.NETの関数をまとめました。

カレントディレクトリパス取得

カレントディレクトリとは…ロボットファイル(Main.xamlなど)の場所

System.IO.Directory.GetCurrentDirectory

or

System.Environment.CurrentDirectory

結果⇒”カレントディレクトリパス”

※「Get Environment Variable」アクティビティで取得可能

システムディレクトリパス取得

システムディレクトリとは…デフォルトでは”C:\\WINDOWS\\SYSTEM”

System.Environment.SystemDirectory

結果⇒”システムディレクトリパス”

※「Get Environment Variable」アクティビティで取得可能

デスクトップパス取得

System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

結果“デスクトップパス

※「Get Environment Folder」アクティビティで取得可能

ルートディレクトリ取得

ルートディレクトリとは…一番上のディレクトリ

System.IO.Path.GetPathRoot(“C:\tmp\test.txt”)

結果“C:\

絶対パス取得

System.IO.Path.GetFullPath(“C:\tmp\test.txt”)

結果“C:\tmp\test.txt”

ディレクトリパスとファイル名を結合

System.IO.Path.Combine(“C:\tmp\”,”test.txt”)

結果“C:\tmp\test.txt”

ファイル名取得

System.IO.Path.GetFileName(“C:\tmp\test.txt”)

結果⇒”test.txt

ファイル名(拡張子なし)取得

System.IO.Path.GetFileNameWithoutExtension(“C:\tmp\test.txt”)

結果⇒”test”

ディレクトリパス取得

System.IO.Path.GetDirectoryName(“C:\tmp\test.txt”)

結果“C:\tmp

拡張子の存在

System.IO.Path.HasExtension(“C:\tmp\test.txt”)

結果⇒True

拡張子変更

System.IO.Path.ChangeExtension(“C:\tmp\test.txt”,”.log”)

結果“C:\tmp\test.log”

拡張子削除

System.IO.Path.ChangeExtension(“C:\tmp\test.txt”,Nothing)

結果“C:\tmp\test”

【UiPath】変数一覧(UiPath Studio)を簡単に並び替える

UiPath Studioの変数(Variables)一覧を任意の順番で並び替えます。

基本は、変数の作成順に並んでいます。

xamlファイルをテキストエディタで開く

Main.xamlファイルをメモ帳にドラッグ&ドロップしましょう。

任意の順番に並び替える

<Sequence.Variables>~</Sequence.Variables>で囲まれた変数一覧を編集します。

Sequenceの部分はスコープの範囲になります。

昇順に並び替えました。

※他の部分は編集しないでください。ファイルが破損する恐れがあります。

保存してロボットを起動しましょう。

大量の変数を並び替えたい時に重宝します。