RPAでちょっと複雑なことをやろうとすると、文字列関係の加工/演算を行いたいというニーズが出てくるのではないでしょうか!?(^^♪ UiPathではVisual Basic.NETの書式が変数に対して利用できるので、様々な関数が使用できますが、Automation Anywhere (AA) では演算に使えるコマンド/アクションがあらかじめ限定されている (特にv11.3)ため、String OperationコマンドやVariable Operationコマンドを何回も繰り返し使う必要があり、冗長になる傾向があります (A2019では変わっています)。
「ちょっと複雑な事」のひとつに、特殊文字 (空白、改行、タブや制御文字等)を使いたい場合があります。
そのような場合にAAでどうするかについて、バージョンごとに見てみましょう。
v11.3.xの場合
改行とタブ
変数への代入作業 (変数の作成、Variable Operation、String Operation)を行うダイアログボックスの値指定テキストボックスは、改行の入力を許す**「複数行テキストボックス」**であるため、改行の入った文字列を入れることも可能ですし、改行のみを入れることも可能です。
以下の3つのダイアログボックスで改行文字1つだけを入れた状態です。カーソルの点滅が2行目で行われていることに注意してください。(矢印部分)
タブについては、テキストボックス内でTAB
キーを押してもタブ文字は入らず、ダイアログボックス内の次のコントロールにフォーカスが移ってしまいますが、メモ帳等で入力されたタブ文字をコピペすると入力可能です。
アクションリスト上は改行が入っていることはわかりにくい (空白、スペース、改行、タブの区別がほぼつかない) ですが。。。( ;∀;)
空白
変数への代入作業 (変数の作成、Variable Operation)を行うダイアログボックスでは、空白、つまり何もない長さゼロの文字列 (=NULL)を代入できます。つまり、変数にNULLを保持しておけるので、たとえばExcelのSet Cellのセルの値など、空白を指定したいのだけれど入力が必須になっているダイアログボックスのフィールドがある場合は、NULLの入った変数を指定することで回避できます。
A2019の場合
改行とタブ
v11.3と違い、A2019のアクションの詳細の中のテキストボックスの中には改行を許さないものがあるため、同じテクニックが使えない場合があります。ただし、新しくシステム定数として$String:Enter$
と$String:Tab$
が改行文字、タブ文字として定義されました。これらを使えば指定が可能です。
空白
v11.3と同様、変数にはNULLを保持しておけるので、たとえばExcelのSet Cellのセルの値など、空白を指定したいのだけれど入力が必須になっているダイアログボックスのフィールドがある場合は、NULLの入った変数を指定することで回避できます。