【UiPath】コピペする方法




ロボの中で値をコピー&ペーストする方法を紹介します。
2つの方法を紹介します。

①Send Hotkey
単純にショートカットキーを使ってコピペする方法です。
Windowsのショートカットキーとして、Ctrl+Cでコピー、Ctrl+Vで貼り付けが出来るのでそれをそのまま作ります。
Activities>Available>UI Automation>Element>Keyboard>Send Hotkeyを選択します。
このアクティビティではそのままキーボードの入力を再現できます。
以下のように設定するだけで、Ctrl+CとCtrl+Vを押す処理が出来ます。

ただこれだと実際には使えないので、以下のようにしてみます。
まず、テストと書かれたテキストファイルを用意し、その値をコピーします。
Ctrl+Aで全選択が出来るのでそれをしてからCtrl+Cでコピーします。
そして、コピーした値をYahooの検索ボックスに貼り付けます。

※Send HotkeyのKeyの欄には1文字だけでなく何文字かいれることも出来ます。(今回のacのように)
また普通のキーだけでなく、プルダウンを開いて選択することでEnterキーなど特殊なキーを設定することもできます。
ちなみに普通のキーと特殊なキーはPropertiesのSpecialKeyというチェックボックスで設定できます。
Enterキーを押したい場合はチェックあり、”Enter”という普通のキー(Eキー、Nキー、Tキー、Eキー、Rキー)を押したい場合はチェックなしにします。

※Send HotkeyはSelectorなしでも使えます。ない場合はActiveになっているWindowに対して行われます。指定したい場合はSelectorを設定するようにしてください。

②ClipBoardアクティビティ
ClipBoardアクティビティが用意されているのでそれを使います。
Activities>Available>System>Clipboard
Copy Selected Text:選択されている文字列をコピーし、変数に格納します。
Get From Clipboard:クリップボードに格納されている(コピーされている)値を取得します。
Set To Clipboard:変数をクリップボードに格納します。(変数をコピー)

まず、Copy Selected Textは①のCtrl+Cの代わりに使えます。

この例だと完全に①と同じ感じですが、直接変数に入れることが出来るのその後の処理がラクになったりします。
またExcelのセルの値を取得したいときなどに、Send Hotkeyだとセルコピーモードになってしまいうまくいかなかったりしますが、Copy Selected Textを使うと値だけをとってこれます。

続いてGet From Clipboardは以下のように、コピーした値を変数として格納できます。
Ctrl+Cと併せて使うイメージですかね。

これで、コピーした内容がどこかに貼り付けずとも取得できます。

最後にSet To Clipboardは、Ctrl+Vと併せて変数を貼り付けることができます。
以下のようにSet To Clipboardに文字列をいれ、その後に空のメモ帳にCtrl+Vで貼り付けるようにします。

これの実行結果は以下のようになります。

set Textが使えない場所で、値を貼り付けなければならないときなどに使えると思います。
入力モードなどに影響されないのでType Intoより安定するかもしれないです。(TypeIntoについてはこちらを参照。)

以上、ロボの中で値をコピー&ペーストする方法でした。
基本はGet TextやSet Textを使った方が安定しますが、どうしても使えない箇所があったりするので、そういう場面で使って見てください。

他の機能一覧はこちら
他の作業一覧はこちら