文字列をクリップボードにコピーした時にエラーになる


#1

アプリケーションのツリー上の文字列を、クリップボードにコピーしようとしていますが、エラーになってしまいます。
目的の文字列はf2キーで編集状態になり、「Ctrl+c」でコピーできるので、この方法で試しています。

「Send hotkey」を使い、「f2」「Ctrl+c」の順にキー入力を行うと
「ElementOperationException」が発生して終了してしまいます。
また、f2キーの後に「Copy Selected Text」を実行した場合でも同様です。

「Send hotkey」を使ってf2キーで編集状態するだけなら、エラーにはなりません。
カーソルキーで上下に移動させる事もできるので、セレクターは間違っていないと思います。
エラー内容を以下に記します。よろしくお願いします。

Message: Write text failed.

Exception Type: ElementOperationException

UiPath.Core.ElementOperationException: Write text failed. —> System.Runtime.InteropServices.COMException: Synthetizing keys failure.
at UiPath.UiNodeClass.WriteText(String text, UiInputMethod inputMethod)
at UiPath.Core.UiElement.WriteText(String text, InputMethod method)
— End of inner exception stack trace —
at UiPath.Core.Activities.TaskAsyncCodeActivity`1.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)


#2

追記します。

特に何かを変えたわけではないのですが、「Ctrl+c」を送信した時にエラーは発生しなくなりました。
しかし、「Get from clipboard」の処理で「empty clipboard」でエラーになってしまうため、コピー自体ができていないようです。


#3

Desktop Recordeingの「Copy Text」ではうまくいかないでしょうか?

どのようなアプリケーションをお使いかわかりませんが、
ツリー上で、かつF2で編集状態になる、ということから
Windowsエクスプローラで実験しましたが、「Copy Text」
で問題なく文字列取得できました。


#4

kaishiiさん
回答ありがとうございます。

「Copy Text」を試してみました。
確かに、Windowsエクスプローラのツリーでは文字列を取得できましたが、
問題のアプリケーションのツリーでは取得できませんでした。

「Copy Text」を使っても、ツリーが表示されているウインドウ全体しか指定できず、個別の文字列を選択することができません。

問題のアプリケーションはCADソフトなのですが、
他にも問題があり、リボンタブの部分で「Click」が使えず(SelectorNotFoundExceptionになる)、「Click Image」で代用するなど、かなり特殊な様です。