2011-08-18 72 views
2

简介: 我已经写了一些简短的excel宏(已测试,它们工作正常)并希望将它们链接到功能区中的按钮(Excel 2010)。我已经在Excel 2007中成功完成了它。 我正在使用自定义用户界面编辑器来构建新功能区,该功能也正常工作。所有内容都打包在一个.xlam加载项中并添加到Excel中。功能区显示很好,所有其他按钮的作品,但...从功能区调用excel宏

问题: 当我点击链接到宏的按钮我得到的错误:“错误的参数或属性分配数量无效”(信息翻译自意大利语,英文可能不完全相同)

故障排除信息: 宏没有参数。可以成功调用并手动执行相同的宏。我甚至可以将相同的宏添加到快速访问工具栏。

这里是带材脚本的特定部分:

<group id="DupNumber" label="Number" insertBeforeMso="GroupNumber" > 
    <comboBox idMso="NumberFormatGallery"/> 
    <box id="HN1" boxStyle="horizontal"> 
     <buttonGroup id="HNButtonGroup1"> 
      <button id="Euro" onAction="Roberto.xlam!EURZ" imageMso="F" supertip="text ..."/> 
      <button id="EuroNZ" onAction="Roberto.xlam!EURNZ" imageMso="E" supertip="text ..."/> 
      <button idMso="PercentStyle"/> 
      <button id="Comma" onAction="Roberto.xlam!NewCommaFormat" imageMso="C" supertip="test ..."/> 
      <button idMso="PercentStyle"/> 
     </buttonGroup> 
    </box> 

,这里是宏:

Sub EURZ() 
    Application.ActiveCell.NumberFormat = "€ #,##0.00" 
End Sub 
Sub EURNZ() 
    Application.ActiveCell.NumberFormat = "€ #,##0" 
End Sub 
Sub NewCommaFormat() 
    Application.ActiveCell.NumberFormat = "#,##0" 
End Sub 

你能帮助我吗? 感谢 罗伯托

回答

9

罗伯托,

我相信你需要这个PARAM添加到您的宏观 “控制,IRibbonControl”

因此,它应该是这样的:

Sub EURZ(control As IRibbonControl) 
    Application.ActiveCell.NumberFormat = "€ #,##0.00" 
End Sub 

。希望为你工作。

-Justin

+1

哇,你救了我的一天。它奇妙地工作!谢谢 – Bob

+1

您可能还想将此参数设置为“可选”,以便您可以继续运行调试器中的子设备。 –