スポンサーリンク

Access - 特定のキーを押した時、どの画面からでも同じ処理を行う便利な使い方

Accessの使い方
Autokeysマクロ
リリ
リリ

アクセスキーは、ある画面を開いている時だけしか機能しないよね。でも、どの画面を開いている時でも、同じ処理をさせたい場合はどうしたらいいの?

例えば、[F2]キーを押したら終了時刻まであと何時間かが表示されたらうれしいな~

SE
SE

そんな時には、AutoKeysマクロを作成すればいいんだよ。

AutoKeysマクロとは

あるキーを押した時に実行されるマクロです。マクロ名を「AutoKeys」に、サブマクロ名にキー値を割り当てることによって実現します。

SE
SE

【前準備】まず、標準モジュールに下記のような終了時刻まであと何時間かが表示されるFunctionプロシージャを作成しておきます。

Function EndTimeGet()
    On Error Resume Next
    Dim TempS As String
    Dim NowTime As Variant
    
    NowTime = Time      '現在時刻を代入
    
    TempS = "現在時刻:" & Format(NowTime, "hh:nn") '現在時刻を、hh;nn形式で表示
    TempS = TempS & vbCrLf & "終了時刻:17:00"      '終了時刻は、17:00で固定
    TempS = TempS & vbCrLf & vbCrLf & "終了時刻まで、あと" & Int(DateDiff("n", NowTime, "17:00") / 60) & "時間" & Int(DateDiff("n", NowTime, "17:00") Mod 60) & "分です。"  '差分を計算
    
    MsgBox TempS, vbInformation, "お疲れ様です!!" '時間情報を表示
End Function
SE
SE

【手順①】リボンの[作成]-[マクロ]を選択して、マクロを新規に作成します。

マクロの新規作成
マクロの新規作成
SE
SE

【手順②】リストから「サブマクロ」を選択します。

サブマクロ
SE
SE

【手順③】サブマクロ名を{F2}とします。これで、[F2]キーを押した時に実行されるマクロになります。

【手順④】「新しいアクションの追加」欄に「プロシージャの実行」を選択します。

プロシージャの実行アクション
プロシージャの実行アクション
サブマクロ名(例)説明
^A[Ctrl]キー + [A]キー
^1 [Ctrl]キー + [1]キー
{F1}[F1]キー
^{F1} [Ctrl]キー + [F1]キー
サブマクロ名
ポイント

[F1]キーのように複数文字で一つのキーを表す場合は、{}で囲みます。[Ctrl]キーと他のキーを押す指定は、^記号を利用します。

SE
SE

【手順⑤】「プロシージャ名」に=EndTimeGet()と入力します。

プロシージャ名 引数
プロシージャ名 引数
SE
SE

【手順⑥】リボンの[実行]をクリックします。確認画面が表示されるので、[はい]をクリックします。

マクロの実行
マクロの実行
SE
SE

【手順⑦】マクロ名にAutoKeysと入力し、[OK]ボタンをクリックします。

マクロ名 AutoKeys
マクロ名 AutoKeys

マクロが実行されて、時刻情報が表示されます。

時刻情報
時刻情報
SE
SE

[F2]キーを押すと、何回でもマクロを実行できす。

ポイント

Autokeysマクロ内に複数の「サブマクロ」を作成して、様々なキーに処理を割り当てることが可能です。

Accessで作成された無料でも利用できる便利な売上仕入在庫管理ソフトは下記から取得できます。

無料 売上管理ソフト フリー カスタマイズ対応型 販売管理
標準利用無料で、納品書や請求書を簡単に作成できる売上管理ソフト(カスタマイズ対応型 販売管理ソフト)を開発し提供しています。一括メール送信機能やRFM分析機能など、便利な機能もたくさんついています。カスタマイズ対応型 販売管理ソフトなので、ソース公開版もあります。

コメント

タイトルとURLをコピーしました