入力カーソルを最後尾に持ってくる方法

メモ帳(notepad.exe)を開いて、[文字を入力(editable text)]のアクティビティを使用しています。
[文字を入力]のアクティビティを二つ以上使用する場合、
二つ目の入力文字が一番前から入力されてしまい、困っています。

■例
一つ目の[文字を入力]:「[ひらがな]+vbCr」
二つ目の[文字を入力]:「あいうえお」
実際の結果:
「あいうえお[ひらがな]

希望の結果:
「[ひらがな]
あいうえお」

希望の結果になるように入力させるにはどうしたらよいでしょうか?
入力カーソルを最後尾に持ってくることができれば、
希望の結果になると思うのですが、そのような方法はありますでしょうか。

こんにちは

一つ目の「文字を入力」アクティビティの「入力をシミュレート」にチェックが入っていませんでしょうか?

@Yoichi さん
入っています。
“[” と “]”(大括弧)を入力したいので、そのために入れています。
「入力をシミュレート」チェックをはずすと入力がされないので…。

こんにちは

状況理解しました。いくつかの留意事項があります。(長文すみません)

UiPathは主に3つの入力モードがあります。

このうちカーソル位置に対して意味を持つ入力モードが2つあります。
それぞれデフォルト(SimulateやWindowMessageにチェックがない状態)、SendWindowMessagesになります。
これに対してSimulate Typeではカーソル位置の概念がありませんので、これで入力した場合はカーソル位置は動いていないことになります。

次に [ という文字ですが、デフォルトやSendWindowMessageでは特殊な意味をもつ文字となっています。(特殊キーを表現するための文字となっています。)
そのため[と]で囲むとこれらが表示されません。
これを回避するには [[XXXX] のように最初の[を2つ重ねることによりエスケープされ意図通りに表示されるかと思います。

入力の安定性という観点では、Simulate Typeがもっとも安定しています。
ただしSimulateでの入力は毎回データがクリアされますので、RPA側で全体のデータをString型変数等で保持しておいて毎回書き込むようなロジックが必要になります。

最終目的がテキストファイルに出力することであれば、メモ帳ではなく、String型変数をテキストファイルに直接書き出すアクティビティ(テキストをファイルに書き込み)がありますので、こちらも検討すると良いかもしれません。

最後にWindowsでの改行は一般的にはvbCrLfを使いますので、特別な事情がない限りはこちらを使うほうが良いかと思います。

上記を踏まえてご検討いただければと思います。

以下入力方法の参考コンテンツです。

2 Likes

@Yoichi さん
詳しいご説明ありがとうございます。

Simulate Typeがカーソル位置の概念がないというのは私の勉強不足でした。
今回は入力モードをデフォルトにし、[を二つ重ねて書き込む方法をとります。

ありがとうございました。

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.