自分が過去に「そうだったのか…」と思ったUiPathの技術・事柄をまとめた記事です。
#1.「Send Hotkey」の特殊入力
・[k(enter)] → enterキーを押す
・[d(enter)] → enterキーを押しっぱなしにする
・[u(enter)] → enterキーを離す
・[d(ctrl)]ac[u(ctrl)] → 全選択してコピーする
・Shift + f10 → 右クリックメニューを表示する
#2.入力ダイアログをアクティブ状態にする
InputDialogの直前に、「Windowsデスクトップをターゲットに、”k(ctrl)”を入力するTypeInto」を置くと、入力ダイアログがアクティブ状態になり、ダイアログへの記入が楽になる。
#4.相対パスの注意点
Studioからの実行時とRobotトレイからの実行時では、ルートパス(=起点)が異なっている。
そのため、相対パスでファイル指定を行うと「Studio環境では問題なかったのに、Robot環境でやるとエラーになる」という現象が発生する。よってフルパス指定が望ましい。
#5.似てるけど全然違うものなんです
人間の目では同じ文字に見えても、UiPathから見ると全く違う文字である…という事は多々ある。(例:「円マークの『\』と『¥』(※半角と環境依存)」「-とー(※半角ハイフンと半角長音)」)
それらの見分け方の1つとして、普段使わないエンコードで書き出してみる…というのがある。
#6.列のindex数→列名に変換する
「Chr(65)=A, Chr(66)=B,…」を利用して、1桁ずつASCII文字コードで変換させる。
#7.日付の小ネタ
※「Today=4月30日」であると定義する。
・Today.ToString("MM") → 04
・Today.ToString("M月") → 4月
・Today.ToString("M") → April 30
・Cint(Today.ToString("MM")) → 4 (※日付の「月」単体で、且つ1桁で出力したい時に)
#8.保護シートへの編集
保護されたエクセルシートに書き込みを行いたい場合、Workbook配下のアクティビティを使えば上手くいく事がある。
#9.範囲指定の小ネタ
Range系アクティビティの範囲指定では、「,」を使えば個別にセルを、「数字:数字」と記載すれば行自体を指定する事ができる。
#10.配列型→データテーブル型に変換
配列型データをデータテーブル型に変換したい場合、「Generate DataTable」を使うのが手軽です。
例えば、System.IO.Directory.GetFilesで取得したファイルのフルパス情報(※配列型)を、
データテーブルとしてエクセルに書く事もできる。