Application.KeyDown イベント (Visio)

キーボードのキーを押したときに発生します。

構文

KeyDown (KeyCodeKeyButtonStateCancelDefault)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
KeyCode 必須 Long 押されたキーです。 使用可能な値は、 Keycode 定数で宣言されます。
KeyButtonState 必須 Long イベントの Shift キーと Ctrl キーの状態。 VisKeyButtonFlags で宣言された値の組み合わせを指定できます。 たとえば、 KeyButtonState が 12 を返す場合、ユーザーが Shift キーと Ctrl キーの両方を押したままであることを示します。
CancelDefault 必須 ブール型 (Boolean) Microsoft Visio がこのイベントから受け取ったメッセージを処理する必要がある場合は False、それ以外の場合は True です。

注釈

CancelDefaultTrue に設定すると、マウス ボタンがクリックされたときに受け取ったメッセージは処理されません。

他の Visio イベントとは異なり、 KeyDown にはプレフィックス Query はありませんが、クエリ イベントです。 つまり、CancelDefaultTrue に設定するか、VisEventProc メソッドを使用してイベントを処理する場合は、True を返すことによって、KeyDown によって送信されたメッセージの処理を取り消すことができます。 詳細については、 VisEventProc メソッドとクエリ イベント ( QueryCancelSuspend イベントなど) のトピックを参照してください。

注:

アクセラレータ キーの組み合わせ (Ctrl + C など) を押しても、 KeyDown イベントは発生しません。

VBA を使用している場合、このトピックの構文を使用して、イベントを一般的な方法で効率的に処理できます。

独自の Event オブジェクトを作成する場合は、Add メソッドまたは AddAdvise メソッドを使用します。

アドオンを実行する Event オブジェクトを作成するには、EventList コレクションに対して Add メソッドを使用します。

通知を受け取る Event オブジェクトを作成するには、AddAdvise メソッドを使用します。

作成するイベントのイベント コードについては、「イベント コード」を参照してください。

このクラス モジュールでは、アクティブ ウィンドウでキーボード アクションによって発生するイベントをリッスンする KeyboardListener という同期クラスを定義する方法を示します。 このクラス モジュールでは、WithEvents キーワードを使用してオブジェクト変数 vsoWindow が宣言されています。 クラス モジュールには、KeyDown イベント、KeyPress イベント、および KeyUp イベント用のイベント ハンドラーも含まれます。

この例を実行するには、VBA プロジェクトに新しいクラス モジュールを挿入し、 KeyboardListener という名前を付けて、モジュールに次のコードを挿入します。

Dim WithEvents vsoWindow As Visio.Window 
 
Private Sub Class_Initialize() 
 
 Set vsoWindow = ActiveWindow 
 
End Sub 
 
Private Sub Class_Terminate() 
 
 Set vsoWindow = Nothing 
 
End Sub 
 
Private Sub vsoWindow_KeyDown(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean) 
 
 Debug.Print "KeyCode is "; KeyCode 
 Debug.Print "KeyButtonState is" ; KeyButtonState 
 
End Sub 
 
Private Sub vsoWindow_KeyPress(ByVal KeyAscii As Long, CancelDefault As Boolean) 
 
 Debug.Print "KeyAscii value is "; KeyAscii 
 
End Sub 
 
Private Sub vsoWindow_KeyUp(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean) 
 
 Debug.Print "KeyCode is "; KeyCode 
 Debug.Print "KeyButtonState is" ; KeyButtonState 
 
End Sub

次に、 ThisDocument プロジェクトに次のコードを挿入します。

Dim myKeyboardListener As KeyboardListener 
 
Private Sub Document_DocumentSaved(ByVal doc As IVDocument) 
 
 Set myKeyboardListener = New KeyboardListener 
 
End Sub 
 
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument) 
 
 Set myKeyboardListener = Nothing 
 
End Sub

クラスを初期化するためにドキュメントを保存し、任意のキーを押して KeyDown イベントを発生させます。 イミディエイト ウィンドウで、ハンドラーは、イベントを発生させるために押されたキーのコードと、イベントが発生した時点での Shift キーと Ctrl キーの状態を出力します。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。