我有一个名为book1的加载项。该插件里面有称为Module模块,它有一个叫子addin1从加载项运行一个宏
我想从不同的工作簿中运行宏addin1
我试图调用此宏是这样的:
Call Addin1
但不工作
和我想:
Call book1.xlam.Module1.AddIn1
这是行不通
有谁知道如何运行加载项内的宏?
我有一个名为book1的加载项。该插件里面有称为Module模块,它有一个叫子addin1从加载项运行一个宏
我想从不同的工作簿中运行宏addin1
我试图调用此宏是这样的:
Call Addin1
但不工作
和我想:
Call book1.xlam.Module1.AddIn1
这是行不通
有谁知道如何运行加载项内的宏?
(假设的Office 2007) 下面是一个例子:
1-打开一本新的工作手册。
2-添加一个包含代码的宏MsgBox("Add-In")
3-保存为xlam文件。
4-打开新的工作簿。
5-单击Office按钮 - > Excel选项
6-单击左侧的加载项选项卡。
7-在底部的“管理”下拉列表旁边,选择“Excel加载项”,然后单击执行。
8-单击浏览并导航到您的xlam文件。
9-确保选中文件旁边的框,然后单击确定。
10-单击Office按钮 - > Excel选项。
11-点击自定义标签。
12-在“从下拉菜单中选择命令”中选择宏。
13-双击您的AddIn,现在快速访问工具栏上会出现一个按钮。
14-单击该按钮,现在将显示您的消息框。
我相信这是你寻找的东西:)你需要所有的单引号和!在正确的地方,可能会有点棘手。
run "'book1'!module1"
在您的工作簿你写:
Sub test()
' from other excel file
Application.Run ("youraddin.xla!ShowForm")
End Sub
而且在插件你有
Public Sub ShowForm()
loginform.Show
End Sub
除了Jacob G的回答 - 如果您的.xlam图书受密码保护,您应该打开它进行编辑(即输入密码)。否则,.xlam书宏在“选择命令从下拉菜单”
将不可见关于如何运行安装的加载项的子程序(.xlam):
确保VBA与加载项相关联的项目具有唯一的名称(不是VBAProject) - 比如Addin_1。
在要从中调用加载项中的子例程的工作簿的VBA项目中,设置对Addin_1的引用。工具>参考,在可用引用列表中找到Addin_1,然后单击相邻的框(出现一个勾号)。
在工作簿的代码模块的子程序,你现在可以调用加载的子程序,使用:
Call Addin_1.routine_name(routine parameters)
既然你已经Addin_1参考,名称一旦你键入Call Addin_1.
,加载项中的子例程将出现,一旦你输入了Call Addin_1.routine_name(
就会出现特定子例程的参数列表,这极大地帮助编写无错代码。
使用Excel 2013进行测试。发现时,我好奇地看到发生了什么事,当我设置一个已安装加载项(.xlam)的VBA项目的引用时。我没有看到这个记录。
嗨雅各布,我使用的是office 2007.我做了上面写的,直到第12点我能够复制它,但是我有一个步骤13的问题,在选择“宏”命令从下拉菜单中,我的自定义插件不会出现在下拉菜单中添加。 在此先感谢。 – 2014-07-24 05:55:21
步骤1-9,获取插件可访问。我认为OP可能已经处于这个阶段。由于使用插件功能可以立即访问,但不能下载。步骤10-14工作,但步骤12应该说“自定义功能区”。我发现第13步不应该说“双击你的插件”,插件没有在那里列出,但子例程是..然后可以点击“添加>>>”按钮,并获得工具栏中该宏的按钮。 – barlop 2017-09-17 22:09:29