|
▼ようたん さん:
こんにちは。
>教えていただいたコードを実行したところ列の挿入は、残念ながら無効化できませんでした。削除の方は、右クリックで表示されるショートカットメニューの削除に関しては無効にできましたが、メニューバーで編集ー削除の操作をすると削除されてしまいました。
とりあえず、
列を選択して右メニューから「削除」は 調べてみたら、
別のIDが割り当てられているようで、
↓は あらたにそれ用の ボタンを追加してみたものです。
列の挿入のほうも(こちらではうまくいっているようなのですが)
操作方法によって、別のIDが使われているのかも知れませんね。
詳しいことはぼくもよく分かりません。
'---------------
Option Explicit
Private WithEvents myButton As Office.CommandBarButton
Private WithEvents myButtonDele As Office.CommandBarButton
Private WithEvents myDelete As Office.CommandBarButton
Private Sub Workbook_Open()
MsgBox "列の 挿入と削除を禁止します"
With Application.CommandBars
Set myButton = .FindControl(ID:=3183) '列の挿入
Set myButtonDele = .FindControl(ID:=294) '列の削除
Set myDelete = .FindControl(ID:=292) '削除(列選択 右クリック)
End With
End Sub
Private Sub myDelete_Click(ByVal Ctrl As Office. _
CommandBarButton, CancelDefault As Boolean)
CancelDefault = True
MsgBox "削除禁止されてます"
End Sub
> それともうひとつ。教えていただいたコードではボタンに割り当てられているIDを指定していますが(こんな方法はじめて知りました。勉強不足でお恥ずかしい・・・・・・。)どうすれば必要なボタンやコマンド(?)のIDを知ることができるのでしょうか?ご指導よろしくお願いいたします。
ぼく自身は CommandBarのリストを一覧するUserFormを自作して、
調べるときはいつもそれを使ってますが、
ht tp://www.moug.net/tech/exvba/0080007.htm
などを参考にしてください。
|
|