忍者ブログ

それいけ!おっさんプログラマー

おっさんプログラマーの技術情報Blog

[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



Excel VBAで独自メニューを追加した際、メニューから呼び出す関数が2回実行される
Excel VBAで独自メニューを追加し、追加したメニューを操作すると、
1回しか実行されないはずの関数が2回実行され、困っていました。
いろいろ試行錯誤し原因が分かったのでメモしておきます。
下記のようなコードで独自メニューを追加しますが・・・
    Dim menuBar As Variant
    Dim control As Variant
    
    Set menuBar = Application.CommandBars("Worksheet Menu Bar").controls.Add(Type:=msoControlPopup)
    menuBar.Caption = "オリジナルメニュー"
    
    Set control = menuBar.controls.Add
    control.Caption = "オリジナルメニューコマンド"
    control.OnAction = "subHoge"
    control.BeginGroup = False
    control.FaceId = 3
最初、関数名の後ろに()を付けて「control.OnAction = "subHoge1()"」としていました。
こう書くと関数が2回実行されるみたいです。
メニュー選択時に実行する関数を指定する際、関数名のみ書くと1回のみ実行されました。
こんな事が原因とは・・・

拍手[0回]

PR



コメント