UiPath イベント情報を取得 アクティビティ

2020年10月17日

この記事ではトリガーアクティビティから発生する

各種イベント(マウスクリックやキー入力)の情報を取得する、

「イベント情報を取得」の機能と使い方を紹介します。

アクティビティの使い方

デザイナーパネルにイベントを監視を設置し、

イベントハンドラーの中にイベント情報を取得をドロップします。

 デザイナーパネルにイベントを監視を設置し、 イベントハンドラーの中にイベント情報を取得をドロップ

取得できる情報には入力されたキーや

マウスでクリックされたボタン(左・右・スクロールなど)、

クリックされた位置などが該当します。

トリガーによっては対象を操作することも可能です。

詳細は各トリガーアクティビティの記事で紹介します。

プロパティ

共通

共通プロパティ

表示名はデザイナーパネルに反映されます。

その他

TypeArgument
TypeArgumentプロパティ

イベント情報を受け取るデータ型を指定します。

初期状態でUiPath.Core.EventInfoが初期設定されているので

殆どのケースでそのまま使用します。

結果
結果プロパティ

イベント情報を受け取る変数を指定します。

(以後、イベント変数と記載)

データがはTypeArgumentで指定したデータ型ですが、

UiPath.Core.EventInfoを使用することになります。

プライベート

UiPathのログに引数や変数の値が表示されるかを指定します。

機密性の高い情報を取り扱う場合にのみチェックする必要があります。

プライベートのキャプチャ

取得情報と操作

マウスクリックかキー入力かの判定

システムトリガーでキーボードとマウスの両方に対応したり、

マウストリガーホットキートリガーを並べた場合など、

情報取得や操作を行う前にどちらが実行されたかを

条件分岐で判定しないとエラーが発生する場合があります。

(クリックに対してキーボード入力イベントを参照するなど)

具体的にはイベント変数の特定プロパティが

Notingであるかないかで判定します。(Nothingにアクセスするとエラー発生)

プロパティクリックキーボード
イベント変数.KeyEventInfoNoting
イベント変数.MouseEventInfoNoting

Nothing は=では比較できないためis Nothingを使用します。

以下のようにするとマウスクリックがThen(True)、

キーボード入力がElse(False)になります。

イベント変数.KeyEventInfo is Nothing
条件分岐でクリックかキー入力かを判別

キーボード入力関連情報の取得と操作

ホットキートリガーシステムトリガー

キーボード入力を検知する場合に可能な情報取得と操作について紹介します。

入力されたキーの情報を取得

「イベント変数.KeyEventInfo.Key」にどのキーが入力されたかが格納されます。

1行で書き込みに表示する場合はToStringで文字列に変換する必要があります。

入力されたキーの情報を1行に書き込みで表示

条件分岐でキーが押されたかを判定することも可能です。

こちらもToStringで判定しましょう。

キープロパティの設定とは大文字・小文字等が異なるので

使用する場合は事前に文字列を確認しておきましょう。

入力されたキー修飾子の情報を取得

「イベント変数.KeyModifier」にどのキー修飾子が入力されたかが格納されます。

1行で書き込みに表示する場合はToStringで文字列に変換する必要があります。

入力されたキー修飾子の情報を1行に書き込みで表示

条件分岐でどのボタンが押されたかを判定することも可能です。

その判定式は下です。(キー修飾子定数は後述のものに置換)

イベント変数.KeyModifier = キー修飾子定数

キー修飾子定数は同時押しにも対応しています。

キー修飾子定数AltCtrlShiftWindows
KeyModifier.None
KeyModifier.Alt
KeyModifier.Ctrl
KeyModifier.Shift
KeyModifier.Win
KeyModifier.Alt_Ctrl
KeyModifier.Shift_Alt
KeyModifier.Win_Alt
KeyModifier.Shift_Ctrl
KeyModifier.Win_Ctrl
KeyModifier.Win_Shift
KeyModifier.Shift_Alt_Ctrl
KeyModifier.Win_Alt_Ctrl
KeyModifier.Win_Shift_Ctrl
KeyModifier.Win_Shift_Alt_Ctrl

マウスクリック関連情報の取得と操作

マウストリガーシステムトリガー

マウスクリックを検知する場合に可能な情報取得と操作について紹介します。

クリックされたボタンの情報を取得

「イベント変数.MouseEventInfo.Button」に

どのマウスボタンをクリックされたかが格納されます。

1行で書き込みに表示する場合はToStringで文字列に変換する必要があります。

クリックされたボタンの情報を1行で書き込みに表示

条件分岐でどのボタンが押されたかを判定することも可能です。

左クリックであるかを判定する条件分岐
条件式判定
イベント変数.MouseEventInfo.Button = MouseButton.BTN_LEFT左クリックである
イベント変数.MouseEventInfo.Button = MouseButton.BTN_RIGHT右クリックである
イベント変数.MouseEventInfo.Button = MouseButton.BTN_MIDDLEスクロールホイールである

クリックと同時押しされたキーの情報を取得

「イベント変数.KeyModifier」にはどのキーが同時押しされたかが格納されます。

1行で書き込みに表示する場合はToStringで文字列に変換する必要があります。

同時押しされたキーの情報を1行で書き込みに表示

条件分岐でどのボタンが押されたかを判定することも可能です。

その判定式は下です。(キー修飾子定数は後述のものに置換)

イベント変数.KeyModifier = キー修飾子定数

キー修飾子定数は同時押しにも対応しています。

キー修飾子定数AltCtrlShiftWindows
KeyModifier.None
KeyModifier.Alt
KeyModifier.Ctrl
KeyModifier.Shift
KeyModifier.Win
KeyModifier.Alt_Ctrl
KeyModifier.Shift_Alt
KeyModifier.Win_Alt
KeyModifier.Shift_Ctrl
KeyModifier.Win_Ctrl
KeyModifier.Win_Shift
KeyModifier.Shift_Alt_Ctrl
KeyModifier.Win_Alt_Ctrl
KeyModifier.Win_Shift_Ctrl
KeyModifier.Win_Shift_Alt_Ctrl

クリックされた位置の情報を取得

イベント変数にはマウスクリック位置の情報も格納されます。

アクセス方法情報
イベント変数.Position.Rectangle.Value.X横位置(X)
イベント変数.Position.Rectangle.Value.Y縦位置(Y)

クリックされたウインドウを操作

メソッドを呼び出しを利用すればクリック対象のウインドウを操作できます。

(操作不可能なウインドウもあります)

ターゲットオブジェクトに「イベント変数.TargetWindow」を指定し

行いたい操作に合わせてパラメーターとメソッド名を指定します。

メソッドを呼び出しのプロパティ
操作メソッド名
閉じるClose
最大化Maximize
最小化Minimize

関連記事