在vba中运行Excel加载项中的函数比使用Run" mySub"更容易。

时间:2016-07-19 08:46:20

标签: excel vba excel-vba excel-addins

我正在尝试为Excel 2010创建我的第一个Excel加载项。大部分内容正在运行,它是从功能区按钮运行的,但我在解决添加问题时遇到问题。来自我的工作簿的VBA代码的子程序。

根据this answer on SO,应该可以简单地使用语法:

mySub

Call mySub

但是这会导致错误" Sub或Function not defined"。我只是设法以这种方式运行它们:

Run "mySub"

Application.Run("myAddIn.xlam!mySub")

有没有办法包含加载项,所以我可以轻松解决它?

加载项已在Tools->加载项列表中检查,并且具有与其文件名(CalculationFunctions.xlam)不同的唯一名称(CalcFunctions)。加载项文件位于不同的磁盘上,而且我在服务器上工作,但我不希望这很重要。

1 个答案:

答案 0 :(得分:1)

(代表OP发布)

原来我只是愚蠢。我只在常规Excel窗口中设置了对加载项的引用。我认为这就是人们对工具 - >参考 - >插件的意思(我在荷兰语中使用Excel,而在那里没有"工具"菜单)。无论如何,解决方案是在VBA编辑器窗口的该菜单中设置引用。

以下是如何在VBA中添加引用:

ThisWorkbook.VBProject.References.AddFromFile refPath

使用refPath作为文件的完整路径。

为了能够添加引用,您需要拥有编辑VBA项目的权限。您可以在Excel设置 - >信任中心 - >宏设置中启用此功能。如果您使用的是公司电脑,管理员可能需要为您设置这些设置。

相关问题