- - PR -
excelでメニュー追加について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-31 23:40
ご返事にしたがっていろいろやってみましたが、、 難しくてわかりません。 ㅠㅠ | ||||
|
投稿日時: 2006-02-01 00:11
よく考えたら、
AddメソッドにNameパラメータでブックごとに異なる名前を付けるのがいちばん簡単。 | ||||
|
投稿日時: 2006-02-01 10:38
.
. With .Controls.Add(Name:="mymenu", Type:=msoControlPopup, Temporary:=True) . . のように、やりましたが、 「コンパイルエラー:名前付き引数が見つかりません。」という エラーが出てしまいます。 ちょっと応用して、 メニューことのIndex(プロパーティがありました)を変数に保持しておいて、workbook closeの際, そのindexのメニューを削除するようにしたら、うまくいきました。 以下は変更したコードです。 Private Sub Workbook_Open() With Application.CommandBars("worksheet menu bar") On Error Resume Next .Controls("選択(&L)").Delete With .Controls.Add(Type:=msoControlPopup, Temporary:=True) .FaceId = 59 .BeginGroup = True .Caption = "選択(&L)" With .Controls.Add(Type:=msoControlButton, Temporary:=True) .FaceId = 1954 .Caption = "test" .OnAction = "sub_test" menuindex = .Index '-->menuindex変数宣言必要です End With End With End With Exit Sub End Sub Sub sub_test() MsgBox "from Book1.xls" End Sub Private Sub Workbook_Open() Application.CommandBars("Worksheet Menu Bar").Controls(menuindex).Delete end sub いろいろ有り難うございました。 | ||||
|
投稿日時: 2006-02-01 10:41
すみません。
コード間違っていましたので、修正します。 Private Sub Workbook_Open() With Application.CommandBars("worksheet menu bar") On Error Resume Next With .Controls.Add(Type:=msoControlPopup, Temporary:=True) .FaceId = 59 .BeginGroup = True .Caption = "選択(&L)" menuindex = .Index '-->menuindex変数宣言必要です With .Controls.Add(Type:=msoControlButton, Temporary:=True) .FaceId = 1954 .Caption = "test" .OnAction = "sub_test" End With End With End With Exit Sub End Sub Sub sub_test() MsgBox "from Book1.xls" End Sub Private Sub Workbook_Open() Application.CommandBars("Worksheet Menu Bar").Controls(menuindex).Delete end sub |