- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Excel 窗口中,我可以通过以下方式为宏分配快捷键:
我可以从 VBE 窗口内分配它,而是使用 VBE 菜单栏吗?
最佳答案
Application.OnKey
方法将快捷方式与过程分开(这使得维护变得困难),并且您最终可能会遇到冲突 - 特别是如果您使用宏对话框分配键和 Application.OnKey
属性。当然,您需要在 workbook_open 上运行 SetShortCutKeys
代码,该代码可能并不总是运行。
幸运的是,可以在 VBA 中和过程本身中分配快捷键,但您需要导出模块,编辑文本文件,然后重新导入。不幸的是,虽然 VBA 确实维护了代码,但快捷键似乎只能在 Excel 中使用。也许这是主机应用程序可以选择支持的 VBA 功能。
假设您的标准模块中有以下 VBA:
Option Explicit
Public Sub Bar()
MsgBox "Bar"
End Sub
如果您使用 Excel 中的宏对话框,并将 Bar
宏的快捷键选择为 Ctrl+Shift+T
,然后将模块导出为文本文件,你会发现模块源是:
Attribute VB_Name = "Module1"
Option Explicit
Sub Bar()
Attribute Bar.VB_ProcData.VB_Invoke_Func = "T\n14"
MsgBox "Bar"
End Sub
请注意 Attribute Bar.VB_ProcData.VB_Invoke_Func = "T\n14"
属性,该属性在 VBIDE 中不可见,但由 VBA 保留在基础源中。 T\n14
中的 T
是区分大小写的键(暗示 Shift
),并且>我认为 \n14
必须引用 Ctrl
键。通过遵循 VB 属性命名模式和语法,并在其他程序中包含类似的行,您可以使用文本编辑器在其他程序中分配快捷键,然后,完成后,您可以将修改后的模块导入回VBA 项目。
请注意,一旦导入修改后的模块,您将无法再看到属性行,并且需要注意不要更改中的参数名称或数量过程,因为 VBIDE可能会在不警告您的情况下删除底层属性。
关于vba - 在 VBE 窗口中分配快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23856071/
我有一个 COM add-in written in C# ,与 Microsoft Office 完美配合。 有一个GitHub issue asking if the add-in support
创建一个运行以下代码的窗体。 MsgBox (VBE.ActiveCodePane.CodeModule) 并出现此消息。 现在保存、关闭并重新打开数据库,并看到以下消息: 运行时错误“91”:未设置
This script give you a decoded listing from an encoded file. Supports *,je, ,vbe, .asp, .hta, .htm,
嗨所以我只是在学习 VB 对 OOP 的看法。测试时如何 Let , Get方法工作我创建了这个虚拟类Class1 ,显然它不能被编译,因为“检测到歧义的名称:~”这个错误 VBE 突出显示类的第 2
使用即时窗口进行一些调试,我遇到了以下问题,为了这个问题的目的,我已经简化了这些: 运行此命令: ?20000*2 产生“溢出”错误。让我们假设这是因为我们还没有声明数据类型,并且 VBE 已经假设
我有一些运行一些代码的按钮,每次单击按钮时,VBE 都会打开,我不需要它。我试过Application.VBE.MainWindow.Visible = False在几个不同的位置(有些未在此处显示)
我正在导出 .bas来自 .xls 的文件此处概述的文件:Exporting A VBComponent Code Module To A Text File将它们 checkin 到 SVN 存储库
我使用几本包含 10-15 个工作表和几个模块的工作簿。 每当我打开 VBA 编辑器或将其重新聚焦时,项目资源管理器都会扩展“Microsoft Excel 对象”(主要是工作表)并折叠模块,这与我想
我注意到我的工作簿中 VBE 中的每个组件都有两个不同的名称。name1 和 name2 有什么区别?我应该引用哪一个,这样我才能确保我的宏能够正常工作? 最佳答案 Control 是工作表的代码名称
我正在使用 VBE 的 VBA,看看 VB.Net 中是否有任何更深奥的逻辑运算符可以运行。 IsNot is the opposite of the Is operator. The advanta
我已经从 Git 存储库下载了一些代码模块(.cls 文件)。当我将(一些,不是全部)导入 VBE(文件:导入)时,它会将其导入为“标准”模块(就好像它是一个 .bas 文件一样)。 如果我在 Not
我有一个项目,我需要配置一些有关显卡的东西,它给出了一个 vbe.h 文件,我不知道如何使用它。 #ifndef __VBE_H #define __VBE_H #include /** @defg
我下载了 github VBE 颜色编辑器。 在这里找到我的 VBE7.DLL 文件: 成功应用我的主题: 但为什么更改没有出现在颜色编辑器中? 我已经在不同的场合重试过,但似乎看不出我做错了什么?
从 VBE Intellisense 获取工作表的命名范围的最佳做法是什么? 我已经创建了一个从工作表的类模块获取命名范围的解决方法,但我认为这太费力了,从下面的代码可以看出,它在 Sheet1 类模
任务: 我的目标是找到我的代码模块的过程中的所有编号行。CodeModule.Find 方法可用于检查搜索词(目标参数)。 语法: 对象。查找(目标、起始行、起始列、结束行、结束列 [、全字] [、匹
在 Excel 窗口中,我可以通过以下方式为宏分配快捷键: 前往“开发者”选项卡 触摸宏按钮 触摸出现的对话框中的选项... 我可以从 VBE 窗口内分配它,而是使用 VBE 菜单栏吗? 最佳答案 A
我刚刚安装了 Rubberduck add-in 。 如果我配置我的 vbe 窗口,这样我就可以看到你的鸭子窗口,它看起来很可爱,但是当我重新启动 Excel 时,它又回到了以前的样子:有没有办法解决
我正在编写一个可打开多个 PI ProcessBook 显示文件的 C# 应用程序。 PI Processbook 是一个嵌入了 Visual Basic for Applications 支持的程序
所以我试图编写一个 vba 代码来将重音字符转换为常规字符。我已将所有重音字符声明为常量,将常规字符声明为另一个常量。 但是我无法将某些重音字符插入到 vba 脚本中,因为 Visual Basic
我正在编写一些操作其他办公应用程序(office)的代码。当我编写代码时,我希望 VBE 帮助我处理属性和函数,就像它对链接到 Excel 的代码一样。 这是如何完成的?例如,当我输入 word_do
我是一名优秀的程序员,十分优秀!