在Access应用程序中,我希望以编程方式设置动态密钥处理程序,以便在按下此键时执行VBA功能。
我能够手动创建一个调用该函数的宏和另一个 AutoKeys 宏来调用"按下特定键时的第一个宏。
现在,我希望能够仅使用VBA创建这些宏。这有可能吗?
当然,如果还有其他方法可以达到我的目的,我愿意接受建议。
答案 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