是否可以在Access中使用VBA创建AutoKeys宏?

时间:2016-03-30 05:34:36

标签: vba ms-access macros access-vba

在Access应用程序中,我希望以编程方式设置动态密钥处理程序,以便在按下此键时执行VBA功能。

我能够手动创建一个调用该函数的宏和另一个 AutoKeys 宏来调用"按下特定键时的第一个宏。

现在,我希望能够仅使用VBA创建这些宏。这有可能吗?

当然,如果还有其他方法可以达到我的目的,我愿意接受建议。

1 个答案:

答案 0 :(得分:0)

你可以这样做,创建一个名为clsCustomForm的类,包含这段代码

Option Compare Database
Option Explicit

Private WithEvents frmCustomForm As Form

Public Function INIT(frmFormToMakeCustom As Form)
    Set frmCustomForm = frmFormToMakeCustom
    frmCustomForm.OnKeyDown = "[Event Procedure]"
End Function

Private Sub frmCustomForm_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox "Hello"
End Sub

然后在一个模块中,你需要有一个公共集合,你为每个表单关闭时打开和删除的每个表单添加一个类,我建议一个字典,用键作为表单名称和作为课程的项目,例如,只是测试(有限的时间)我已经在1种形式中使用了以下代码,希望这有帮助,如果需要,我将有更多的时间来显示字典。

Option Compare Database
Option Explicit

Public CUSTOM_FORM As clsCustomForm

Private Sub Form_Load()
   Set CUSTOM_FORM = New clsCustomForm
   CUSTOM_FORM.INIT Me
End Sub