1

ThisWorkbook モジュールでこの vba コードを使用して、Excel ワークブックの右クリック メニューを無効にしました。

Private Sub Workbook_Activate()
   With Application.CommandBars.FindControl(ID:=847)
      .Visible = False
   End With
End Sub

Private Sub Workbook_Deactivate()
   With Application.CommandBars.FindControl(ID:=847)
      .Visible = True
   End With
End Sub

魅力のように機能します。
問題は、どのワークブックのタブでも右クリック メニューにアクセスできないことです。コードの 2 番目の部分は、それをオンに戻すことになっていると思いましたか? しかし、そうではありません。

コードを完全に削除しても、タブの 1 つを右クリックすると、新しいブックでさえも、どのブックにもメニューが表示されません。

多分Excelを「リセット」する一般的なvbaコードニペットはありますか?または、一般的な「すべてのメニューを有効にする」ことですか?

改訂: ここに投稿されたこのコードは、右クリック メニューを無効にするのではなく、その特定のメニューから「削除」オプションを削除します。

4

3 に答える 3

2

いつものようにまた遅れましたが、今日も同じ問題に取り組みました。右クリック機能を取り戻すための解決策は次のとおりです。

Option Explicit
'
Sub tester()
    '
    Dim cBar As CommandBar
    '
    For Each cBar In CommandBars
        Debug.Print cBar.Name
        If (cBar.Type = msoBarTypePopup) Then cBar.Enabled = True
    Next
End Sub
于 2013-02-20T14:57:54.223 に答える
0

また、以下も存在することに注意してください。仕事からのいくつかのマクロは、私のExcelでそれらをすべて無効にしました。

Application.CommandBars("Cell").Enabled = True
Application.CommandBars("Row").Enabled = True
Application.CommandBars("Column").Enabled = True
于 2014-01-15T21:35:25.457 に答える