2016-01-29 5 views
1

Добрый день все,Excel 2010 Disable Right Click Menu

Я пытаюсь ограничить меню правого клика появлением на листе Excel. Я попытался использовать код:

Private Sub Workbook_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
    MsgBox "Sorry! Right click is disabled!" 
    Cancel = True 
End Sub 

Я пропустил что-то, что позволит этой работе?

Спасибо,

Бен

+0

Коды работают для меня, есть ли у вас настройки макросов для отключения макросов? – Sorceri

+0

Моя макро-защита настроена на включение всех. У меня это застряло в неправильном месте ...? Должен ли/я могу найти его под конкретным листом # или это должно быть в модуле? –

+0

Нужно войти в модуль ThisWorkbook – Sorceri

ответ

0

Вы можете использовать код:

MsgBox "Sorry! Right click is disabled!" 
Cancel = True 

Но указать таблицу, вам нужно будет открыть модуль кода, который рабочего листа и поставить его в блоке событий Worksheet_BeforeRightClick так что конечный результат выглядит следующим образом:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
    MsgBox "Sorry! Right click is disabled!" 
    Cancel = True 
End Sub 

Редактирование: Обратите внимание, что событие в определенном листе рабочего листа является событием «Worksheet_BeforeRightClick», но модуль рабочей книги имеет «Workbook_SheetBeforeRightClick». Если вы хотите его на лист, вам нужно будет добавить событие рабочего листа на каждый желаемый лист. Если вы хотите его для всей книги, вам нужно будет поместить событие книги в модуль рабочей книги.

Для модуля рабочей книги, он должен выглядеть следующим образом («ThisWorkbook» в проекте «BOOK1» является выбранный модуль в левой панели): enter image description here

Для модуля рабочего листа, он должен выглядеть следующим образом («Sheet1 (Sheet1)» в проекте «Book1» - выбранный модуль на левой панели); enter image description here

Синтаксическая разность - ключ.

+0

Разве это не тот самый код, который у меня выше? Я все еще не могу заставить его делать даже до правого щелчка, независимо от того, где я его положил. –

+0

Просто чтобы подтвердить, когда вы пытаетесь его использовать, вы: откройте редактор кода (выбрав вкладку разработчика и нажав «Visual Basic» или нажав ALT + F11), затем перейдите к книге, которую вы хотите в панели на левой стороне и дважды щелкните на листе, который вы хотите, из папки «Microsoft Excel Objects» в этой книге, а затем введите там этот код? – elmer007

+0

Я отредактировал ответ, чтобы указать несколько особенностей о том, какое событие ... – elmer007