カンパ〜イ!←最初の1杯目、なに頼む?

EXCELで右クリックメニューを追加するにあたり、以下のコードをネットで取得しました。
右クリックメニューを階層化してさらに、いくつか選べるようにするにはどうしたら良いのでしょうか?
-------------------------------------------------------------
Dim Newb
Set Newb = Application.CommandBars("Cell").Controls.Add()
With Newb
.Caption = "コマンド"
.OnAction = "Sample_cmd"
.BeginGroup = False
End With

Sub Sample_cmd()
MsgBox Now
End Sub
-------------------------------------------------------------
判る方お願いします。

A 回答 (2件)

余計なコメントもありますが、Controls.Add を入れ子にして行くだけです。



Sub AddRightClik()

Application.CommandBars("Cell").Reset

With CommandBars("Cell")
With .Controls.Add(Type:=msoControlPopup)

.Caption = "Direction Movement(&E)" '"Move Enter(&M)" 'Direction of movement
.OnAction = "MoveChkCk"
'.Visible = False
'.BeginGroup = True

With .Controls.Add(Type:=msoControlButton)
.Caption = "Right(&R)" 'right side moves right
.OnAction = "MoveEnterCk"
'.FaceId = 39
End With
With .Controls.Add(Type:=msoControlButton)
.Caption = "Down(&D)" 'It moves to the under.It moves below.Movement in the under Lower direction
.OnAction = "MoveEnterCk"
'.FaceId = 40
End With
With .Controls.Add(Type:=msoControlButton)
.Caption = "Up(&U)" ' Up movement
.OnAction = "MoveEnterCk"
'.FaceId = 40
End With
With .Controls.Add(Type:=msoControlButton)
.Caption = "Left(&L)" 'It moves to the left side.It moves to the left.Left movement
.OnAction = "MoveEnterCk"
'.FaceId = 40
End With

End With
End With

End Sub

この回答への補足

なるほど・・・解決しました・・・
有難うございます。

ついでに、もし知っていましたら・・・教えて下さい。

必ず、メニューを削除してから追加しようと思い

On Error GoTo 0
Application.CommandBars("Cell").Controls("メニュー1").Delete
Application.CommandBars("Cell").Controls("メニュー2").Delete

って、やっても、エラーを拾って、アベンドしてしまうのですけど、どうしたら、良いのでしょうか?

補足日時:2007/03/12 13:04
    • good
    • 0

On Error Resume Next


Application.CommandBars("Cell").Controls("メニュー1").Delete
Application.CommandBars("Cell").Controls("メニュー2").Delete
On Error GoTo 0
ですか?
    • good
    • 0
この回答へのお礼

ありゃ、そんなのがありましたね・・・・
久々なもので・・・・・

有難うございました

お礼日時:2007/03/12 17:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報