gpt4 book ai didi

excel - 为 Microsoft Excel 加载项分配键盘快捷方式

转载 作者:行者123 更新时间:2023-12-04 22:25:36 25 4
gpt4 key购买 nike

我的 friend 与我分享了一个 .bas 文件,并告诉我在 vbEditor 中将其另存为 .xlam 以将其作为插件。

我已经浏览了加载项,并且能够在我的工作簿中启用它。

有没有办法可以为加载项分配键盘快捷键?现在该加载项文件中只有一个子文件。

我试着用

Application.onKey "+^{C}" ,'Calculate'

但它不会触发要执行的子程序。

最佳答案

您不会为加载项分配快捷方式。相反,您为宏分配快捷方式 - 即 Public Sub标准模块中的过程。

因此,您的代码文件可能如下所示:

Option Explicit

Public Sub Calculate()
'...code...
End Sub

在记事本中打开它。我看起来像这样:
Attribute VB_Name = "Module1"
Option Explicit

Public Sub Calculate()
'...code...
End Sub

Public Sub Calculate() 下,你想添加一个属性,使文件看起来像这样:
Attribute VB_Name = "Module1"
Option Explicit

Public Sub Calculate()
Attribute Calculate.VB_ProcData.VB_Invoke_Func = "C\n14"
'...code...
End Sub

这正是 Excel 的宏记录器分配宏热键的方式:不需要任何 Application.OnKey变通方法。

保存文件,将其导入您的 VBA 项目:Ctrl+Shift+C 现在将调用该宏。

如果您使用 Rubberduck ,忘记以上所有内容,只需在 VBA 编辑器中转到您的模块,找到该过程并对其进行注释,如下所示:
Option Explicit

'@ExcelHotkey("C")
Public Sub Calculate()
'...code...
End Sub

在哪里 "C"将使热键 Ctrl+Shift+C;我强烈建议不要使用 "c"避免劫持Ctrl+C(复制)。

调出代码检查工具窗口,点击“刷新”按钮;在“Rubberduck Opportunities”下应该有一个关于注释和属性不同步的检查结果警告 - 从“修复”菜单中选择“添加成员属性”,你就完成了 - 不需要导出/编辑/导入或处理使用任何晦涩的语法,如果您想更改热键,只需相应地编辑注释并重新同步注释和属性。

VB_Attribute annotations了解更多信息。

至于将 VBA 项目保存为加载项,只需将 VBA 项目的主机工作簿保存为 .xlam 加载项文件,然后完全关闭 Excel 并重新打开它 - 从开发人员功能区选项卡的“Excel 添加”加载您的 .xlam -ins”按钮(如果 .xlam 文件不在列表中,请点击“浏览”以找到您的 .xlam 文件)。

关于excel - 为 Microsoft Excel 加载项分配键盘快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58032258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com