【发布时间】:2016-07-17 23:07:26
【问题描述】:
在 Access 应用程序中,我想以编程方式设置动态键处理程序,以便在按下此键时执行 VBA 函数。
我能够手动创建一个调用该函数的宏和另一个在按下特定键时“调用”第一个宏的 AutoKeys 宏。
现在,我希望能够仅使用 VBA 创建这些宏。这有可能吗?
当然,如果有其他方法可以实现我想要的,我愿意接受建议。
【问题讨论】:
-
如果您有打开的表单,您可以在表单中使用 KeyPress 事件来调用全局键处理程序
-
是的,但我希望无论是否打开以及打开什么表单都调用宏。
-
我不认为你可以。有
Application.CreateForm和Application.CreateReport,但对于宏没有任何相似之处。CurrentDb.Containers("Scripts").Documents获取所有现有宏,但您无法通过它添加。 -
我想你可以看看API函数RegisterHotKey。至少 V6 allows to register 当前应用程序的热键。您可以将其注册到隐藏表单