Access VBA:Shiftキー、Ctrlキー、Altキーが押されたことを知る

Access VBAでShiftキー、Ctrlキー、Altキーが押されたかどうか知るには、OnKeyDownイベントのShiftパラメータで取得できます。

Shiftキーを調べるには、acShiftMask 定数との論理積で調べます。
Ctrlキーを調べるには、acCtrlMask 定数との論理積で調べます。
Altキーを調べるには、acAltMask 定数との論理積で調べます。



BackHome BackTipsへ Backメニューへ

フォームに、コマンドボタンのようにフォーカスがあるコントロールがある場合、「キーボードイベント取得」プロパティを「はい」にしないと、
OnKeyDownイベントが発生しません。
フォームプロパティ

実行Accessフォーム
Shiftキー + Ctrlキー + P を押した場合の画面
キー押下状態の取得フォーム


■ Access VBA 実行コード例

Option Compare Database
Option Explicit

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim tkey As String
    'Shiftキーが押されたかどうか
    If (Shift And acShiftMask) > 0 Then
        tkey = tkey & "[Shift]"
    End If
    'Ctrlキーが押されたかどうか
    If (Shift And acCtrlMask) > 0 Then
        tkey = tkey & "[Ctrl]"
    End If
    'Altキーが押されたかどうか
    If (Shift And acAltMask) > 0 Then
        tkey = tkey & "[Alt]"
    End If
    ラベル0.Caption = tkey & " " & Chr(KeyCode)
End Sub




BackHome BackTipsへ Backメニューへ

Copyright(C) FeedSoft