2010-11-19 03:15:57 +0000 2010-11-19 03:15:57 +0000
44
44

如何自定义Excel 2010键盘快捷键?

如何自定义Excel 2010键盘快捷键?这篇文章来自microsoft.com,提供了 “Microsoft Office 2010 "的使用说明,但似乎只适用于Word,而不适用于Excel。 http://www.microsoft.com/athome/organization/compshortcuts.aspx

在Microsoft Office 2010中:

  1. 单击 "文件 "选项卡打开后台视图,然后单击 "选项"。

  2. 单击自定义功能区,然后在键盘快捷键标题旁边单击自定义。你可以在这里输入新的按键组合。

这里是它在Word中显示的对话框:

但在Excel中显示的对话框也是一样的:

注意,它看起来几乎完全一样,但没有 "键盘快捷键。

那么如何在Excel中自定义键盘快捷键呢?

答案 (5)

27
27
27
2011-11-24 12:55:54 +0000

你可以通过上图所示的对话框,给快速访问工具栏指定一个命令(如 “格式化画家")。然后你可以用ALT+一个数字(根据程序在快速访问工具栏中的位置不同而不同)作为快捷键!

例如,在下面的截图中,"Format Painter "已经被添加到快速访问工具栏的第7位,所以你现在可以通过alt-7来调用它。

21
21
21
2010-11-19 06:38:22 +0000

我所知道的键盘快捷键有3种:

  1. 像Ctrl-C复制 的快捷键
  2. 2.像Alt-E-S-V用于编辑>粘贴特殊>值 3.像Alt-E-S-V用于编辑>粘贴特殊>值 你可以将快捷键组合分配给你自己的宏

用#1,我认为只有Word允许你改变这些,例如,你可以将粗体的快捷键从Ctrl-B改成别的。我认为Excel从来没有允许你这样做。当然,你可以在Excel中写一个宏,改变粗体属性,然后给它指定一个键盘快捷方式,但这确实属于上面的#3。例如,你可以把编辑菜单的名称从&Edit改成&Zdit,然后把上面#2中的快捷键序列改成Alt-Z-S-V。现在我所知道的唯一方法就是在VBA中更改工具栏的名称(在Excel 2007和2010中,旧的工具栏、文件、编辑等仍然存在于幕后,可以通过代码访问)。你只有Ctrl和一个键的选择,我相信。在VBA中,你实际上可以创建更长的组合,比如Ctrl-Shft-N(我最喜欢的一个)。

希望对你有帮助。

4
4
4
2013-01-25 02:14:44 +0000

唯一的(真正的)方法是创建一个宏来做你想要的事情,并为其指定一个组合键。相对来说,记录一个宏,比如说 “粘贴值",然后添加快捷键是比较容易的。

如果你记录了一个宏,第一个对话框会允许你分配一个快捷键,但只能用CTRL键—-而且Excel不会告诉你是否覆盖了现有的按键组合(比如CTRL+C)。一定要把它分配到你的PERSONAL.XLSB文件中,这样它就可以在所有电子表格中使用。

3
3
3
2011-10-13 22:08:28 +0000

解决 “像Alt-E-S-V编辑>粘贴特殊>值 "的问题(上面的第2条–虽然不是严格意义上的快捷方式,但仍然是用键盘做事情的快捷方式)。这个过程涉及到创建一个添加了特殊XML的Add-In,它可以添加或修改ribbon。这是我在2007年找到的唯一一个改变Ribbon的方法,但是在2010年的时候,它的工作原理仍然是一样的。

3
3
3
2019-01-10 11:19:04 +0000

对我来说,以上所有的答案都不尽如人意,因为它们限制了我可以使用哪些组合作为自定义快捷方式,或者限制了我可以针对哪些操作,或者对于一些本应简单的东西来说,它们需要做太多的工作。

我的解决方案是使用AutoHotkey来 “翻译 "我想要的按键组合到Outlook 2016(或Excel 2016或其他什么的)预期的现有快捷方式。或者每当我按[Ctrl-f],我想转到搜索框(d'oh!),但Outlook希望用[Ctrl-e],所以我让脚本用[Ctrl-e]来代替。脚本看起来是这样的:

SetTitleMatchMode RegEx
#IfWinActive - Outlook$
Ins::Send ^{Enter}
^f::Send ^e
#IfWinActive

”#IfWinActive “确保了这些特殊的按键替换只有在活动窗口的标题_结尾有字符串”-Outlook “时才会被替换(结尾用美元符号标记,这是因为我在上面启用了基于正则表达式的字符串匹配模式)。然后,我用空的#IfWinActive来禁用活动窗口的标题检测。

另外,一旦#IfWinActive被选中,我就知道哪个窗口会接收到我发送的键,所以我不需要做任何特殊的事情,只需要简单的 "发送"来响应每一个真正的按键替换。