从function区调用Excelmacros
简介:我写了一些简短的Excelmacros(testing,他们工作正常),并希望链接到function区(Excel 2010)中的button。 我已经在Excel 2007中成功地完成了它。我正在使用自定义用户界面编辑器来构build一个新的function区,这也可以正常工作。 所有东西都打包在一个.xlam加载项中,并添加到Excel中。 丝带显示很好,所有其他button的作品,但…
问题:当我点击链接到macros的button时,出现错误:“错误的参数数量或属性分配无效”(从意大利语翻译的消息,在英语中可能不完全一样)
故障排除信息:macros没有参数。 相同的macros可以被成功调用并手动执行。 我甚至可以将相同的macros添加到快速访问工具栏。
以下是function区脚本的特定部分:
<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>
这里是macros:
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
你可以帮我吗? 感谢罗伯托
罗伯托,
我相信你需要添加这个参数到你的macros“控制作为IRibbonControl”
所以应该看起来像这样:
Sub EURZ(control As IRibbonControl) Application.ActiveCell.NumberFormat = "€ #,##0.00" End Sub
希望这对你有用。
-Justin