【问题标题】:In MS Excel: use "MS Word style" keyboard shortcuts to trigger VBA procedures在 MS Excel 中:使用“MS Word 样式”键盘快捷键触发 VBA 程序
【发布时间】:2018-03-10 01:33:14
【问题描述】:

要通过键盘快捷键在 MS Excel 中启动 VBA 程序,可以按照以下模式分配此类快捷键

Ctrl + [一个字母]

这似乎是 Excel 制造商提供的唯一可能性。即使 Ctrl + [a digit] 也不起作用,因为无法使用默认方法分配这样的组合。

但是,我希望有可用的“MS Word 样式快捷方式”,例如

Ctrl + [字母或数字或其他] + [字母或数字或其他]

因为它们不仅给了我更多的快捷方式,还让我分配了帮助我记住它们的快捷方式,例如Ctrl+d+e 用于“删除所有内容”(只是一个示例)。

因此,我正在寻找一种方法来创建这种增强的快捷方式。我正在考虑 一个 VBA 程序来跟踪键盘上的按键,并且在某些组合上会开始做一些事情(案例 a --> 做 x,案例 b --> 做 y 等) .

惰性方法可能正在编写读取以下两个键的过程,并且过程本身首先必须由“默认类型”快捷方式触发,例如 Ctrl + [字母]时间>。这当然会使我必须按下的键数量几乎翻倍。

问题:有没有办法让 VBA 过程跟踪所有被击中的键,例如存储它们进入例如数组四个地方,闭路电视摄像机记录事物的方式(删除最旧的),并注意某些组合,例如Ctrl + [字母] + [字母],如果找到了怎么办?

当然,这样的按键记录程序不会显着降低我的系统速度。

【问题讨论】:

    标签: excel keyboard-shortcuts vba


    【解决方案1】:

    这个问题好像以前有人问过,见:Is there any event that fires when keys are pressed when editing a cell?

    看起来在 VBA 中付出了很多努力,基本上是使用 PINVOKE 来获取底层的 Windows 功能。如果您有这种需求,您可能希望查看更全面的开发环境。

    【讨论】:

    • 例如什么样的开发环境?
    • 至于您提供的类似问题的链接:谢谢,这是一个好的开始。当然,由于这是一套复杂的程序,我将需要一些时间来理解和测试它......但绝对有帮助!
    • "例如,什么样的开发环境?" - 这真的取决于你在做什么,但是使用 Visual Studio 之类的东西来构建 WPF 项目,例如,包括 PreviewKeyDown 的事件,并且可能更适合构建复杂的 UI。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多