メモ帳から文字をコピーし、別フィールドへ貼り付けの際のトラブル

皆さんお疲れ様です

私が実装している自動化で、"a"という文字が混入しました

メモ帳の本文を全選択→Ctrl-Cで取得し、クリップボードに設定
クリップボードより、文字入力で、別フィールドに貼り付け

実際の実装は図のようなイメージです

想定した原因は2つです

・ホットキーの”ac"と1アクティビティで実施したのが原因
・貼り付けの前に、前のデータを削除するために全選択(Ctrl-a)が原因

原因としては上記またはそれ以外考えられますでしょうか?
その場合、ウィンドウメッセージを送信や、入力をシミュレート、ホットキーの"ac"を2つのアクティビティに分けるなどでしょうか。

こんにちは。3日前ということで既に解決されていたらすみません。

まず、質問されている部分とずれた感じになってしまってすみませんが、
もしコピーしたいメモ帳の全文が、テキストファイルとして既に保存されているものであれば
「テキストをファイルから読み込み(ReadTextFile)」のアクティビティで
ファイルを指定して全文をStringに取り込めますので、
そちらを使用すればGUI操作を排除でき、安定した読み込みができるようになるかと思います。

で、本題の方ですが。

"a"という文字が混入しました

これが具体的にどういう風に混入した文字列になっているのかをちょっと知りたいですね。
コピー元のテキストが「あいうえお」だとして
・「aあいうえお」が出力されている
・「a」だけが出力されている
など。

前者であれば

貼り付けの前に、前のデータを削除するために全選択(Ctrl-a)が原因

が原因の可能性が高そうですし、後者であれば

ホットキーの”ac"と1アクティビティで実施したのが原因

の可能性が高いと思います。

対処法は原因を特定してからということで、ひとまず原因の特定からやってみましょう。

@rfu さん
ご返信ありがとうございます

混入の仕方は、メモ帳には”ーーーーーーーーーーーーーーーーー”
実際の貼り付けデータには、"aーーーーーーーーーーーーーーーーー”
となっています

そのため、”貼り付けの前に、前のデータを削除するために全選択(Ctrl-a)が原因”
が高そうでしょうか

この場合、ホットキー以外の方法で消せる方法、、、何かあればいいのですが

ツールにデータを貼り付けてまして、ツールのメニューなどでデータ削除する機能はありません。

なるほど。
こっちが原因の可能性もまだゼロではないですが、上半分の「ホットキー押下~クリップボードから取得」は
正常に動いているという前提でいったん話をすすめてみましょう。

イメージとしてはツール上の、既に文字列が入っているかもしれない入力欄に
メモ帳からクリップボード経由で変数に格納した文字列を上書き入力したい、という感じですかね?

ではまず、もし使えるようであれば、
文字を入力(TypeInto)アクティビティを「入力をシミュレート」を有効にした状態で
その入力欄に適用できないか試してみてください。
(この入力方法が有効なようであれば、自動的に入力欄の文字は上書きされるので話が早いです)

※この入力方法、ツールの仕様次第ではうまくいかないことも結構あるので、そうしたら次の手を考えましょう。

1 Like