Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14900 / 76734 ←次へ | 前へ→

【67321】メニューバーに設置したコンボボックスの値を取得したい
質問  やまたか  - 10/11/24(水) 11:50 -

引用なし
パスワード
   VBAマクロ作成は我流でセオリーは知らないレベルなのですが、
メニューバーにポップアップボタンとその中にボタンとコンボボックスをコード1で作成しました。
そこで、コンボボックス選択時にその値かインデックス値を取得したいのですが、エラー1となりうまく出来ません。
どなたか、対処方法をご教授願えないでしょうか?宜しくお願いいたします。

○コード1
Sub OnCommandButtonAdd()
  Call OnCommandButtonDel
  Set mymbar = Application.CommandBars("Worksheet Menu Bar")
  Set mymbar1 = mymbar.Controls.Add(Type:=msoControlPopup)
  With mymbar1
    .TooltipText = ThisWorkbook.Name
    .Caption = "ユーザメニューボタン"
  End With
  Set mymbar2 = mymbar1.Controls.Add(Type:=msoControlButton)
  With mymbar2
    .Style = msoButtonIconAndCaption
    .Caption = "XX"
    .OnAction = "OnCbarChg"
  End With
  Set mymbar2 = mymbar1.Controls.Add(Type:=msoControlComboBox)
  With mymbar2
    .Caption = "ComboBox"
    .OnAction = "コンボボックス値表示"
    .AddItem "表示A"
    .AddItem "表示B"
    .ListIndex = 1
  End With
End Sub
Sub コンボボックス値表示()
   MsgBox Application.CommandBars("Worksheet Menu Bar").Controls("ComboBox").Text
End Sub

○エラー1
プロシジャーの呼び出し、引数が不正です


尚、メニューバーではなく、
新たなツールバー(コマンドバー)とその中にボタンとコンボボックスをコード2で作成した場合は、
コンボボックス選択時にその値が取得出来ました。
コード1との相違点は、見た目でも分かるのですが、私の知識レベルの限界となってしまいました。

○コード2
Sub OnCbar
  mycbarbutton = "ユーザコマンドボタン"
  On Error Resume Next
  CommandBars(mycbarbutton).Delete
  Set mycbar1 = Application.CommandBars.Add(Name:=mycbarbutton, Position:=msoBarFloating, temporary:=True)
  Set mycbar2 = mycbar1.Controls.Add(Type:=msoControlButton)
  With mycbar2
    .Style = msoButtonIconAndCaption
    .Caption = "XX"
    .OnAction = "OnCbarChg"
  End With
  Set mycbar2 = mycbar1.Controls.Add(Type:=msoControlComboBox)
  With mycbar2
    .Caption = "ComboBox"
    .OnAction = "コンボボックス値表示"
    .BeginGroup = True
    .AddItem "表示A"
    .AddItem "表示B"
    .ListIndex = 1
  End With
  With Application.CommandBars(mycbarbutton)
    .Visible = True
    .Position = msoBarTop
  End With
End Sub
Sub コンボボックス値表示()
  MsgBox CommandBars(mycbarbutton).Controls("ComboBox").Text
End Sub
1 hits

【67321】メニューバーに設置したコンボボックスの値を取得したい やまたか 10/11/24(水) 11:50 質問
【67322】Re:メニューバーに設置したコンボボックス... sasa 10/11/24(水) 12:30 回答
【67323】Re:メニューバーに設置したコンボボックス... やまたか 10/11/24(水) 14:52 お礼
【67324】Re:メニューバーに設置したコンボボックス... やまたか 10/11/24(水) 15:07 質問
【67325】Re:メニューバーに設置したコンボボックス... sasa 10/11/24(水) 15:29 回答
【67326】Re:メニューバーに設置したコンボボックス... やまたか 10/11/24(水) 19:16 お礼
【67327】Re:メニューバーに設置したコンボボックス... sasa 10/11/25(木) 0:56 回答
【67376】Re:メニューバーに設置したコンボボックス... やまたか 10/11/29(月) 11:46 お礼

14900 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free