2016-04-18 21 views
0

Microsoft UIエディタを使用してExcelのリボンをカスタマイズし始めました。私はOnRibbonLoadサブルーチンを使用して、スプレッドシートを開いたときにデフォルト値で編集ボックスとチェックボックスを初期化しようとしています。私のOnLoadRibbonサブルーチンが呼び出されていない

Public MyRibbonUI As IRibbonUI 

Private Sub OnRibbonLoad(ribbonUI As IRibbonUI) 
    Set MyRibbonUI = ribbonUI 

    GBLDelimited = True 
    MsgBox "Hello" 
    'script to set global variable values to be used as default values 
End Sub 

しかし、私は、私が開発していスプレッドシートにそれを使用するときに、それはしていないように:私が本当に奇妙な発見だと、私は、テストのスプレッドシートに次のコードを使用し、それがうまく働いたということですまったく呼ばれる。サブルーチンが呼び出されていることをテストするために追加したMsgbox行。私のテストスプレッドシートでは、開かれた直後に "Hello"メッセージが表示され、サブルーチンが呼び出されていることを示唆しています。しかし、メッセージは他のスプレッドシートには表示されません。

この問題は、(行頭でデフォルト値を設定しようとしている)チェックボックスのonActionコールバックサブルーチンでこの行を実行しようとすると、「ランタイムエラー91」が発生することに直接関係している疑いがあります。

MyRibbonUI.InvalidateControl ("checkBoxTest") 

と私は本当にcheckBoxが正しくラベル付けされていると確信しています。

OnRibbonLoadサブルーチンが同じコードが使用されているにもかかわらず、1つのスプレッドシートで動作し、別のスプレッドシートで動作しない理由を説明できる人はいますか?

答えて

0

私はこの問題を発見しました。第二スプレッドシートイム現像のための私のMicrosft UIエディタのスクリプトでは、私はそれは私のテストのスプレッドシートではなく、私が開発しています1にあったのOnLoadコマンド

<customUI xmlns="......." onLoad="OnRibbonLoad"> 

が含まれていませんでした。今は少しばかげている気がする。

関連する問題