2013-03-14 8 views
11

を経由してマクロを実行しているとき、私は私がカスタムUIエディタで追加されたタブ/グループ/ボタンで呼び出すマクロ持っている -VBAエラー「引数または無効なプロパティの割り当ての数が間違って」カスタムボタン

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
    <ribbon startFromScratch="false"> 
     <tabs> 
      <tab id="tabCustomActions" label="Custom ActionsXXX" insertAfterMso="TabDeveloper"> 
       <group id="GroupTLA" label="TLA Actions"> 
        <button id="buttonFormatTLA" label="Format as TLA" image="TLALogo" size="large" onAction="start_tla" /> 
       </group> 
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

ボタンは私のカスタムロゴと、うまくアップ示しているが、これまでの私のボタンをクリックしたときに、私は次のエラーが出る - などそれ通常、

VBA Error

VBAは、このエラーは、次の開かれていないが、ノーコード内私がデベロッパーを開くと、VBAが問題として表示されますloperコンソールを開き、ボタンをクリックしてください。

マクロを手動で実行しようとすると、奇妙なことに、間違いなく正常に動作します。誰にどのようにこれを解決するためのアイデアがありますか?

私のフルコードはPastebinです。ご覧になりたい方はこちらをご覧ください。ありがとう。

+0

あなたがVBAを実行していないため、VBA IDEが開かない、これはマクロですよね?手動で実行するときにVBAで実行されるコードは何ですか? – Brad

+2

Brad:Excelおよび他のオフィス製品では、VBA =マクロ。同じこと。 –

答えて

12

VBAコードのstart_tlaコールバックのコールシグネチャが間違っています。

あなたはカスタムUIエディタでファイルを開く場合は、メニューの右側にコールバックを生成するというボタンがあります。あなたがそれを押すと、それはあなたのファイルにリボンXMLに一致するようにあなたのVBAコードの正しいコールバックを与える:

'Callback for buttonFormatTLA onAction 
Sub start_tla(control As IRibbonControl) 
    'Your code goes here 
End Sub 

ペーストビンリンクによると、あなたのサブはcontrol As IRibbonControlパラメータなしで、このようになります

Public Sub start_tla() 
+0

パーフェクト、それに感謝します。実際には、汎用のon_customUI_actionコールバック関数を作成し、どのボタンが押されたかを確認しました。そうすれば、マクロを手動で実行しても動作します。ありがとう。 –

+1

私の場合、別の 'Add-In'モジュールに同じモジュール名がありました。このエラーはモジュールに一意の名前を付けた後に消えてしまいました。 – Dhay

関連する問題