0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UiPath】【PiP】クリップボード共有課題の回避実装サンプル

Last updated at Posted at 2025-05-07

はじめに

  • 本記事は、PiPモードで実行した際のクリップボード共有課題の回避実装サンプルを扱います。
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
  • 製品仕様や参考画像は 25.0.161 バージョンのもので構成しています。

クリップボード共有課題

image.png

クリップボードは PiP セッションとメイン セッション間で共有されます。
※PiPの種類は「新しいセッション(子セッション)」と「新しいデスクトップ(仮想デスクトップ)」の両方で発生します。

image.png

ロボット内でクリップボードの操作をするケースはあまりないとおもいますが、セレクタをうまく認識しないフィールドへの値貼り付け等で利用することはあったりします。ロボの実装をよく知らない利用者の方がPiP実行しながら仕事した場合、困ったことが起きそうですよね( ゚Д゚) gkbr

回避実装サンプル

たとえば、
「クリップボードに設定」で値Xをコピーし、
「キーボードショートカット(Ctrl+V)」で値を貼り付ける実装があった場合、
次の様に回避実装をおこないます↓↓↓

「代入」でクリップボードの中身を退避
左辺:退避用オブジェクト(System.Object型) 右辺:ClipboardX.ObjectValue

image.png

「クリップボードに設定」で値Xをコピー

「キーボードショートカット(Ctrl+V)」で値を貼り付ける

「代入」でクリップボードの中身を戻す
左辺:ClipboardX.ObjectValue 右辺:退避用オブジェクト(System.Object型)

image.png

(ClipboardX.StringValue で値をログした際の出力例)
image.png

image.png

空振り対策でリトライスコープを入れる場合、クリップボードの退避・戻しの挿入位置にご注意ください。
※退避と戻しの間隔が開いてしまうと意図しないコピー発生リスクが上がってしまうため

【 ×:良くない例 】
「代入」:クリップボード退避
  「リトライスコープ」
   「クリップボードの設定」
   「キーボードショートカット(貼り付け)」
「代入」:クリップボード戻し

【 〇:良い例 】
「リトライスコープ」
  「代入」:クリップボード退避
  「クリップボードの設定」
  「キーボードショートカット(貼り付け)」
  「代入」:クリップボード戻し

さいごに

いかがでしたでしょうか。
値設定&値利用の直前・直後に「代入」アクティビティを挿入してクリップボードの中身を退避・戻すだけです!
UiPathのPiPは、クローンをつくるものではなく、Microsoftの”子セッション”という技術をもちいて疑似的にロボットの実行環境をもう一つ作っています。
https://learn.microsoft.com/ja-jp/windows/win32/termserv/child-sessions
このため、メインセッション(親セッション)と子セッションでリソースを共有する部分も多く、資格情報を求めずに自動ログオンからロボット実行ができるメリットなどありますが、今回の様にセッション毎にリソース分けられずデメリットになるケースもでてきます。
コンマ数秒に手元のコピペが被るケースはそれほどないとおもいますので、「PiP × クリップボード」で困っている方がいたら本記事を教えてあげていただけますと幸いです(・ω・)ノ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?