2011-08-18 102 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

您可能還想將此參數設置爲「可選」,以便您可以繼續運行調試器中的子設備。 –