Tag: 键盘

VBA的GetKeyboardState使用 – 不能让我的头围绕它

我正在努力了解获取键盘状态如何工作。 关于我最后一个问题的答案是如此之大,但是我只是无法摆脱困境。 尝试捕获按键,而小组运行(蛇游戏)VBA 我已经宣布的function(和使用PTRSAFE),但我不知道如何使用它下面的代码。 我试图做一个子,但我不明白什么意思是发生? 有人可以向我解释。 我可以看到它从0到255检查,但不知道它是如何与函数来获得状态? Public Declare Function GetKeyboardState Lib "user32" Alias "GetKeyboardState" (pbKeyState As Byte) As Long dim keybrdbuff(255) as byte For x = 0 to 255 If 0<>keybrdbuff(x) then Exit Sub Next

上下文菜单和键盘快捷键以相同的方法返回不同的结果

我在Excel 2013中有一个vba子(“ sub ”),它打开另一个工作簿,从中读取一些数据,返回这些数据并closures新打开的工作簿。 可以通过键盘快捷键和上下文菜单中的一个条目运行这个子文件。 这个调用(这是“UTILS.sub”)工作得很好: ' Add the sub-call to a new context menu entry Call UTILS.addContextMenuEntry("Caption", 2556, "UTILS.sub") 但是这个电话不会: ' Add the sub-call to a new keyboard shortcut App.OnKey "+^{M}", "UTILS.sub" 如果我用键盘快捷方式调用sub ,它会中断而不会出错。 我已经设法解决了特定的代码行,通过debugging打破它: '[…] Application.ScreenUpdating = False ' Open the external Workbook Set wbHandle = Workbooks.Open("wb.xls", ReadOnly:=True) MsgBox "Debug" '[…] wb.xls打开(并显示),但MsgBox“debugging”不。 “打开”行之后没有任何内容会运行,并且此行之后没有任何断点。 […]

使用Excel填充DropDowndynamic快捷方式分配的特殊键

我正在devise一个graphics用户界面,允许用户从Microsoft Excel中的用户窗体分配快捷键macrosfunction。 表单完全按照预期执行,但为了分配键,我使用InputBox从用户获取数据。 但是,用户不能在input框中input特殊键(如Del,F1-F12,Home,End等)。 我想用所有的常规和特殊的键,Excel认识到可行的快捷方式填充DropDown。 是否有一个库对象或默认数组,我可以引用填充我的DropDown菜单或将不得不find一个列表,并手动添加每个项目到一个数组?

当键盘上没有中断键时,Excel VBA中断执行

我只是注意到,在我的笔记本电脑(戴尔XPS 15z)没有BREAK键(没有专用数字键盘)。 我一步一步地运行debugging器,然后当一切似乎都好,我只是让它发挥出来。 然而,它运行在一个无限循环,现在我意识到没有rest键没有办法停止! 这是一个坏笑话吗? 我不得不重新启动计算机; 有没有更优雅的方式? 谢谢。