Excel VBA質問箱 IV

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

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


23626 / 76732 ←次へ | 前へ→

【58470】Re:列の挿入・削除の無効化
発言  kanabun  - 08/10/27(月) 16:13 -

引用なし
パスワード
   ▼ようたん さん:
 こんにちは。

>教えていただいたコードを実行したところ列の挿入は、残念ながら無効化できませんでした。削除の方は、右クリックで表示されるショートカットメニューの削除に関しては無効にできましたが、メニューバーで編集ー削除の操作をすると削除されてしまいました。

とりあえず、
列を選択して右メニューから「削除」は 調べてみたら、
別の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
などを参考にしてください。
3 hits

【58456】列の挿入・削除の無効化 ようたん 08/10/27(月) 0:37 質問
【58457】Re:列の挿入・削除の無効化 kanabun 08/10/27(月) 1:40 発言
【58465】Re:列の挿入・削除の無効化 ようたん 08/10/27(月) 12:29 お礼
【58470】Re:列の挿入・削除の無効化 kanabun 08/10/27(月) 16:13 発言
【58490】Re:列の挿入・削除の無効化 ようたん 08/10/27(月) 23:24 発言
【58492】Re:列の挿入・削除の無効化 kanabun 08/10/28(火) 1:44 発言

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