Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8 : Excel 2013)
コマンドバーについて
投稿日時: 20/10/05 10:37:26
投稿者: アール

右クリックを押下したときに一度すべてのコマンドバーの項目を非表示にし、自作したもののみ表示するようプログラムを記載しております。
 
しかし、「貼り付けのオプション」のみ残ってしまいます。
この、「貼り付けのオプション」を非表示にする方法教えていただけないでしょうか。
 
非表示にするコード
Dim cmdBar As CommandBar
For Each cmdBar In Application.CommandBars("Cell").Controls
cmdBar.Visible=False
Next

回答
投稿日時: 20/10/05 14:32:45
投稿者: WinArrow
投稿者のウェブサイトに移動

ショートカットメニューのすべてを非表示にするのでしょうか?
 
ショートカットメニューそのものを非表示にするのではだめなんですか?
 
申し添えておきますが、コマンドバー("cell")は、同じ名前で2つあります。
何をしたいのか?わかりませんが、片方だけでよいのですか?、

投稿日時: 20/10/05 16:47:37
投稿者: アール

ご回答ありがとうございます。
 

WinArrow さんの引用:
ショートカットメニューのすべてを非表示にするのでしょうか?
ショートカットメニューそのものを非表示にするのではだめなんですか?
⇒削除と挿入のみ残したいのですべて非表示にはできればしたくありません。
 
申し添えておきますが、コマンドバー("cell")は、同じ名前で2つあります。
何をしたいのか?わかりませんが、片方だけでよいのですか?、

⇒存じておりませんでした。申し訳ございません。
 セル選択時に右クリックしたときに表示されるコマンドバーのみ非表示にしたく、
 非表示設定をしたところ、どうしても、「貼り付けのオプション」が残ってしまうので質問いたしました。

回答
投稿日時: 20/10/05 17:09:52
投稿者: WinArrow
投稿者のウェブサイトに移動

>ショートカットメニューそのものを非表示にするのではだめなんですか?
 
すみません。
ショートカットメニューでhなく、コマンドバーでした。
Appplication.Commandbars("cell").Enabled = False
 

回答
投稿日時: 20/10/05 20:45:54
投稿者: WinArrow
投稿者のウェブサイトに移動

ユーザー設定のメニューを追加したいんですね?
コマンドバーそのものを非表示にするのは、答えになっていませんでした。
無視してください。
なお、私の環境では、「リンク」も残てしまいます。[/u]

回答
投稿日時: 20/10/06 10:32:01
投稿者: チオチモリン

「貼り付けのオプション」は「リボン」の部分だと思うので、コマンドバーのカスタマイズでは対応できないと思います。
リボンのカスタマイズは当分触ってなくて、既存のメニューを変更できるかどうかの記憶も怪しいので、以下の対応(お茶濁し)ではどうでしょう。
 
標準モジュール(事前に一度実行)
Sub Test()
    On Error Resume Next
    CommandBars("Test").Delete
    On Error GoTo 0
    With CommandBars.Add("Test", msoBarPopup, , True).Controls.Add(1)
        .Caption = "Test"
        .FaceId = 59
        .OnAction = "Sample"
    End With
End Sub
Sub Sample()
    MsgBox "Test"
End Sub
 
シートモジュール
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Application.CommandBars("Test").ShowPopup
End Sub

投稿日時: 20/10/11 00:38:32
投稿者: アール

チオチモリンさま
ありがとうございました。
記載いただいたコードで試したところ思い通りになりました。