Excel VBA質問箱 IV

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

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


40021 / 76738 ←次へ | 前へ→

【41821】Re:メニューバーの任意の機能をオンオフ...
発言  katchin  - 06/8/23(水) 19:04 -

引用なし
パスワード
   ▼kobasan さん:
アドバイスありがとうございます。せっかくですが、私はVBAの方は初級レベルなので下記のような長いコードでは私の読解力の限界を超えています。
TrueではなくVisibleでしたか?しかし、
Controls(2).Controls(10)=Visible
として実行すると、「変数が定義されていません。」とのエラーが表示されてしまいました。どうしたら宜しいでしょうか?

>katchin さん おはようございます。
>表示しないなら Visible 、グレー表示なら Enabled のプロパティを使います。
>
>Controls(2).Controls(10) という形なのでControlsを多用したメニューバーでサンプルを作りました。これで分ってください。
>
>
>'新規メニューバーの作成
>Sub Menu_Add()
>Dim menu, btn
>  Del_MenuBar
>  CommandBars.Add ("New_Bar")
>  '
>  '===================================================================1列目(Popupにする)
>  Set menu = CommandBars("New_Bar").Controls.Add(Type:=msoControlPopup, temporary:=True)
>  With menu
>    .Caption = "menu_A"
>    '------------------1列1行目(Button)
>    .Controls.Add Type:=msoControlButton
>    .Controls(1).Caption = "menu_A1"
>    .Controls(1).OnAction = "macroA1"
>    '------------------1列2行目(Button)
>    .Controls.Add Type:=msoControlButton
>    .Controls(2).Caption = "menu_A2"
>    .Controls(2).OnAction = "macroA2"
>  End With
>  '
>  '===================================================================2列目(Popupにする)
>  Set menu = CommandBars("New_Bar").Controls.Add(Type:=msoControlPopup, temporary:=True)
>  With menu
>    .Caption = "menu_B"
>    '------------------2列1行目(Button)
>    .Controls.Add Type:=msoControlButton
>    .Controls(1).Caption = "menu_B1"
>    .Controls(1).OnAction = "macroB1"
>    '------------------2列2行目(Button)
>    .Controls.Add Type:=msoControlButton
>    .Controls(2).Caption = "menu_B2"
>    .Controls(2).OnAction = "macroB2"
>  End With
>  '
>  '======================================================3列目(Button)
>  Set btn = CommandBars("New_Bar").Controls.Add(Type:=msoControlButton)
>  With btn
>    '.Style = msoButtonIcon
>    .Style = msoButtonIconAndCaption
>    .FaceId = 480
>    .Caption = "1列2行目ボタンのTrue,False切り替え"
>    .OnAction = "Menu_C"
>  End With
>  '
>  CommandBars("New_Bar").Visible = True
>  Set menu = Nothing: Set btn = Nothing
>End Sub
>
>Sub Del_MenuBar()
>Dim c As CommandBar
>  For Each c In CommandBars
>    If c.Name = "New_Bar" Then CommandBars("New_Bar").Delete
>  Next
>End Sub
>
>Sub auto_close()
>  Del_MenuBar
>End Sub
>
>Private Sub Menu_C()
>Dim Mybtn
>  '表示しないなら .Enabled を .Visible  に変更してください
>  'グレー表示なら .Enabled 
>  With CommandBars("New_Bar").Controls(1).Controls(2)
>    If .Enabled = False Then
>      .Enabled = True
>    Else
>      .Enabled = False
>    End If
>  End With
>End Sub
>
>
>>メニューバーを開くと多くの機能が通常アクティブになっていますが、以前どなたかから、例えば左から2列目編集メニューの上から10番目の「削除」をノンアクティブにしたい時、Controls(2).Controls(10) = False 
>>つまり、m列目のメニューバーのn番目の機能をノンアクティブにしたいとき、
>>Controls(m).Controls(n) = False  また、逆にノンアクティブにした機能をアクティブに戻すとき、False を True に。                  左辺のプロパティの式が定かではないので、再現を試みましたらやはり上手く行きませんでした。どこかが微妙に間違っているのだろうと思われますがまだ判りません。
>>どなたか正確にご教示くださいませ。
>>
0 hits

【41750】メニューバーの任意の機能をオンオフする... katchin 06/8/22(火) 0:03 質問
【41759】Re:メニューバーの任意の機能をオンオフ... kobasan 06/8/22(火) 8:16 回答
【41821】Re:メニューバーの任意の機能をオンオフ... katchin 06/8/23(水) 19:04 発言
【41826】Re:メニューバーの任意の機能をオンオフ... kobasan 06/8/23(水) 19:44 回答
【41833】それでもコンパイルエラーになります katchin 06/8/23(水) 21:14 発言
【41834】Re:それでもコンパイルエラーになります かみちゃん 06/8/23(水) 21:22 発言
【41835】Re:それでもコンパイルエラーになります kobasan 06/8/23(水) 21:45 回答
【41898】ありがとうございましたやっとActiveにな... katchin 06/8/25(金) 15:32 お礼
【41767】Re:メニューバーの任意の機能をオンオフす... inoue 06/8/22(火) 13:17 発言

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