如何在Excel功能区上执行子操作?

时间:2014-05-12 18:55:37

标签: xml excel vba excel-vba ribbon

我最近安装了一个名为Essential Regression的免费Excel加载项。我想创建一个功能区按钮来调用与该excel外接程序er22.xlam文件关联的VBA项目中的特定宏。

所以,基本上我想运行位于VBA项目mult24.xls(er22.xlam)中的模块ModMultiRegStart中的宏多重页

经过一些谷歌搜索后,我发现了这个:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
  <tab id="CustomTab"
       label="Eregression">
    <group id="SimpleControls"
           label="Essential Regression">
      <button id="Button1"
              size="large"
              label="Start Eregression"
              onAction="mult24.xls!multistart"/>
    </group>
  </tab>
</tabs>
</ribbon>
</customUI>

它会生成按钮,但按下按钮时它不起作用。我猜猜mult24.xls!multistart不是引用那个特定sub的正确方法,但我不知道我应该如何引用它。

我仍然可以进入开发者选项卡并选择VBA项目并按F5,然后选择宏多步,但如果我不必每次都这样做,那就容易多了。

任何帮助?

1 个答案:

答案 0 :(得分:0)

看起来你的onAction按钮试图在multi25.xls中调用一个宏,但是你说这个宏在er22.xlam中。通常,调用Sub / Function的语法如下:

myWorkbook.xlsm!MyModule.MySub

如果sub具有唯一名称,则可以忽略该模块,但为了清楚起见,最好包括该模块。