【使用するステップ】
- 「キー プレス(Press Key)ステップ」
【概要】
「キー プレス(Press Key) ステップ」は、キーボードのキーを入力する操作をロボットに実行させるステップです。「キー プレス ステップ」を追加すると「標準キー(Standard Keys)」の中から入力したいキーを選択できるようになります。
「標準キー」には無いキー入力("Print Screenキー"、"Deleteキー"、"テンキー側のエンターキー"等)や3つ以上のキーを同時に押す操作をロボットに実行させる場合は、「キー」項目を「計算されたキー(Calculated Key)」に設定し、キーコードを入力します。
「標準キー」が正常に動作しない場合にも「計算されたキー」を設定してください。
※指定することが出来るキーコードは『代表的な仮想キーコード一覧』を参照してください。
【実装例】
デスクトップに対し、 [Windows+R]キーを入力する操作をロボットに実行させることで、[ファイル名を指定して実行]を起動します。
- レコーダー ビューの「Program Manager」タブを選択した後、右クリック > キー プレス > エンター を選択します。
※Ver10.7は「Press key ステップ」となっております。
-
表示名をクリックし、分かりやすい名前に変更します。(今回の例では「キープレス」という名前に変更しています。)
- 「キー」と「キー コード」を設定します。
「キー」:「計算 されたキー」を選択
「キー コード」:v0x5b v0x52 v0x52,fu v0x5b,fu
- 「キー プレス ステップ」を実行すると、[ファイル名を指定して実行]が起動します。
【実行前】
【実行後】
【補足】
「計算されたキー(Calculated Key)」のキーコードに設定できるコードの種類は、仮想キーコード入力・スキャンコード入力・Unicode(UTF-16)入力の3種類あります。それぞれのキーコードに適したフラグやコードを設定することでロボットに操作を実行させます。
キーコードを設定する際には、1つのキーごとに半角スペースで区切る必要があります。また、キーボードの「キーの押下」と「キーの開放」はそれぞれ指定する必要がある点に注意してください。
以下、具体的な入力方法について説明します。
■仮想キーコードを入力する方法
仮想キーコードを押下する場合はキーコードの前に「v」を入力し、キー解放の場合はキーコードの後に「,fu」を入力します。
※この後説明する拡張キーやスキャンコード&Unicodeを入力するときには、以下の方法を元にフラグを付けていきます。
操作 | 仕様 | 例 |
キー押下 |
v0x○○ [ v + (仮想キーコード) ] |
v0xA0 (Shift 押下) |
キー解放 |
v0x○○,fu [ v + (仮想キーコード) + ,fu ] |
v0xA0,fu (Shift 解放) |
<例> ExcelでセルにSUM()関数を入力する
SUM()関数を入力するショートカットキーは「Alt + Shift + =」です。
この3つのキーを押下した後、解放するには、以下のように「キー コード」に入力します。
v0xA4 v0xA0 v0xBD v0xA4,fu v0xA0,fu v0xBD,fu
■拡張キーを入力する方法
拡張キーとは、下図赤枠内のキーを指します。
拡張キーを使用する場合、仮想キーコードと合わせて"e"フラグが必要となります。
よって、キー押下の場合はキーコードの後に「,fe」を入力します。解放の場合は「,feu」を入力します。
操作 | 仕様 | 例 |
キー押下 |
v0x○○,fe [ v + (仮想キーコード) + ,fe ] |
v0xA3,fe (右Ctrl 押下) |
キー解放 |
v0x○○,feu [ v + (仮想キーコード) + ,feu ] |
v0xA3,feu (右Ctrl 解放) |
<例> メモ帳に対して『「Ctrl + A」の後、「Delete」』を設定する場合の入力値
「Ctrl」と「A」の2つのキーを押下して解放した後、「Delete」キーを押下して解放するには、以下のように「キー コード」に入力します。
v0xA2 v0x41 v0xA2,fu v0x41,fu v0x2E,fe v0x2e,feu
■スキャンコード及びUnicodeを入力する方法
スキャンコードを押下する場合はキーコードの前に"s"フラグ、Unicodeを指定する場合は"U"フラグが必要になります。
よって、Unicode指定でキー押下の場合は、キーコードの後に「,fU」を入力します。解放の場合は後に「,fUu」を入力します。
操作 | 仕様 | 例 |
キー押下 |
s0x○○,fU [ s + (Unicode) + ,fU ] |
s0x04c1,fU (Ӂ 押下) |
キー解放 |
s0x○○,fUu [ s + (Unicode) + ,fUu ] |
s0x04c1,fUu (Ӂ 解放) |
<例> テキストファイルに対してキリル文字『Ӂ』を入力するには、以下のように「キー コード」に入力します。
s0x04c1,fU s0x04c1,fUu
■ロボットでキー(Shift+Enterキー等)を長押しする方法
キーを長押したい場合は「キープレス(Press Key)ステップ」の「キー」に「計算されたキー(Calculated Key)」を設定します。
<例>Shift+Enterキーを同時に押しながら、5秒後Enterキーを解放し、Shiftキーはまだ長押しを続ける場合
■ロボットでキー(ctrlキー等)を押しながらクリックをする方法
キーを押しながらクリック(ctrl+左クリック等)を行いたい場合は、「キープレス(Press Key)ステップ」の「キー」に「計算されたキー(Calculated Key)」を設定することで実行可能です。
詳細はロボットでキー(ctrlキー等)を押しながらクリックをする方法を参照してください。
■変数を使用し、仮想キーコードを使用する方法
「キー コード」には変数を設定することも可能です。
※以下の画像では「キー コード」に変数「Key」を設定しています。
■テキストを入力(Enter Text)ステップで正しく文字が入力されない場合、キープレス(Press Key)ステップを使う
DA端末上からWindows機能のリモートデスクトップ接続を起動して他端末へ接続して、テキストを入力(Enter Text)ステップで文字入力を行うと、文字が変化することがあります。
その場合は、テキストを入力(Enter Text)ステップではなく、キープレス(Press Key)ステップの「計算されたキー(Calculated Key)」を使用することで正しく文字を入力することが可能です。
詳細はPress Keyステップを使用して文字を入力する方法を参照してください。
【注意点】
- Ver.10.1→Ver.10.2へのバージョンアップにおいて、キー操作の仕組みに変更があったため、
右コントロール(Right Control)、右Windowsキー(Right Windows)など、
一部正常に動作しなくなったキーについても「計算されたキー(Calculated Key)」にて対応できます。 - 仮想キーコードがChromiumで利用できない事がユーザガイドに記載されていない
- 【解決策】[DA]「Enter Text」ステップ実行時に入力されていた文字が上書きされる
【関連情報】
- DA端末がWindows10の場合、「Press Key」ステップのStandard Keyで動作しないキーがある
- DAのPress Key命令で「`-=[]\;’,./」が入力できない
- 代表的な仮想キーコード一覧
※この記事は2022年3月14日にver11.1.0.4で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。