Check-moscow.ru

Финансы и учет
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как добавить пользовательскую кнопку в контекстное меню правой кнопки мыши в Excel?

Блокировка правой кнопки мышки в Excel

Здравствуйте, дорогие читатели блога! Сегодня я отвечаю на вопрос подписчика: как заблокировать контекстное меню (щелчок правой кнопкой мыши) в листе и рабочей книге Excel.

Самый простой и эффективный способ — написать небольшой макрос. Давайте последуем известному алгоритму вставки кода в элементы файла Excel. Как найти вкладку «Разработчик» и добавить код VBA в модули, листы и рабочие книги, вы можете узнать из предыдущих статей.

Блокируем лист

  • Откройте вкладку «Разработчик»;
  • Нажмите кнопку «Visual Basic»;
  • Дважды щелкните имя листа, на котором нужно щелкнуть правой кнопкой мыши (в моем случае это Лист 1).

Блокировка правой кнопки мышки в Excel

Затем вставьте небольшой макрос:

Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel AsBoolean)

Вопрос заключается в названии команды: перед тем как сделать щелчок правой кнопкой мыши, программа проверяет, может ли она щелкнуть. В нашем случае аргумент Cancel имеет значение True, что означает, что программа проверила, можно ли блокировать, и получила положительный ответ, заблокировала.

Если вы поместите этот код в модуль, он не будет работать.

Блокируем книгу

Для новых листов укажите следующий макрос, чтобы заблокировать правую кнопку мыши:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

Здесь меняется область — вместо листа мы работаем с книгой, а событие (SheetBeforeRightClick), действие и аргумент остаются теми же.

Блокировка правой кнопки мышки в Excel

Если необходимо отобразить сообщение, можно добавить в код всплывающее сообщение.

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

Cancel = True
MsgBox («Контекстное мею заблокировано!»)

Блокировка правой кнопки мышки в Excel

При нажатии появится сообщение.

Блокировка правой кнопки мышки в Excel

Счётчик нажатий правой кнопки мыши

Можно пойти еще дальше и показать места, где произошел щелчок правой кнопкой мыши, вставив в эти места надпись с номером щелчка. Код выглядит следующим образом. В нем мы убираем всплывающее окно и добавляем счетчик.

Читайте так же:
Как добавить текстовое поле в диаграмму в Excel?

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
‘ Счетчик нажатий кнопки мыши
Static intCount As Integer
Dim x As Integer, y As Integer
Cancel = True

‘ Отображение текстового поля с количеством щелчков правой _
кнопкой мыши
x = Target.Left
y = Target.Top
intCount = intCount + 1
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
x, y, 35, 20).TextFrame.Characters.Text = intCount

Блокировка правой кнопки мышки в Excel

В код макроса добавлен счетчик нажатия правой кнопки мыши для определения позиции курсора (ячейки, над которой он навис) и порядкового номера (начиная с единицы) вызова контекстного меню. Результат следующий.

Блокировка правой кнопки мышки в Excel

Это так просто. Контекстное меню теперь можно блокировать различными способами. Удачи всем.

Создание элементов контекстного меню

Пункты контекстного меню управляются API contextMenus (en-US). Однако для его использования необходимо указать разрешение contextMenus в файле manifest.json.

Затем вы можете добавлять, обновлять и удалять пункты контекстного меню в фоновом сценарии вашего расширения. Чтобы создать элемент, необходимо указать его id, название и контекст, в котором он будет отображаться. В приведенном ниже примере пункт меню появляется, когда текст или другая часть страницы выделена:

Затем вы можете добавить обработчик события «click» к элементу. Информация, переданная обработчику о контексте, в котором произошел щелчок, и вкладке, на которой было вызвано контекстное меню, может быть использована для определения последующего поведения расширения.

В этом случае не будет работать не только правая кнопка, но и другие стандартные функции. Если программа «гоняет» без видимых причин, будьте готовы к полной переустановке всех компонентов Office. Вам также потребуется очистить реестр.

Задумывались ли вы, что правая кнопка мыши в Excel не работает из-за неисправности мыши? Он может быть заклинен, внутри может быть неплотный контакт или засоренная печатная плата. Вспомните, случалось ли что-нибудь с этим устройством в последнее время? Короче говоря, попробуйте подключить другую мышь и посмотрите, работают ли контекстные вызовы команд.

Читайте так же:
Как заменить тильду и подстановочные знаки в Excel?

Кроме того, проблема может быть связана с клавиатурой. Имеют ли клавиатуры какое-либо отношение к этому? Возможно, на ней есть клавиши-модификаторы (Ctrl, Alt, Fn, Caps Lock и т.д.), которые блокируют одновременную работу правой кнопки.

Заедание клавиш клавиатуры — не редкость, особенно если устройство старое и используется уже долгое время. Внутри накопилась пыль и грязь, а кнопки износились.

Если мышь не работает, попробуйте отсоединить клавиатуру или выключить ее (если на ней есть кнопка отключения).

Как исправить, что вырезание, копирование, удаление не работает в контекстном меню Excel?

Попробуйте выполнить следующие действия, чтобы устранить проблему:

  1. Сброс ячеек с помощью редактора VBA
  2. Изменение регистра
  3. Запуск Excel в безопасном режиме
  4. Очистка папки запуска
  5. Проверка атрибутов файла
  6. Восстановление Excel

1. Сбросить ячейки из редактора VBA

  • Закройте все листы Excel и запустите новую пустую книгу.
  • Нажмите Alt + F11, чтобы открыть редактор «Microsoft Visual Basic для приложений».
  • Когда вы находитесь в редакторе VBA, перейдите в меню «Вставить> Модуль», чтобы открыть новый модуль.
  • Откроется редактор в правой панели, вставьте в него код, приведенный ниже.
  • Это должно выглядеть так.
  • Нажмите F5 или нажмите кнопку «Выполнить», которая выглядит как кнопка воспроизведения. Либо перейдите в меню «Выполнить> Выполнить под / пользовательскую форму».
  • Команды запустятся и сбросят ваши ячейки Excel до поведения по умолчанию.
  • Вы не увидите никаких результатов, таких как успех или неудача. Просто закройте / выйдите из редактора VBA и вернитесь в свою книгу Excel.
  • Щелкните правой кнопкой мыши и проверьте, включены ли параметры. Вы также должны проверить, включены ли значки на ленте.

Используя приведенные выше команды, вы сбросите ячейки, строки и столбцы Excel. Выполнив это, вы решите проблему и установите поведение ячеек по умолчанию.

Читайте так же:
Как добавить и использовать инструмент камеры в Excel?

2. Изменить запись в реестре.

Мы смогли решить эту проблему с помощью приведенного выше решения. Однако если у вас возникают проблемы с запуском команд в редакторе VBA, попробуйте воспользоваться следующей альтернативой.

  • Нажмите клавиши «Win Logo + R», чтобы открыть окно «Выполнить».
  • Введите regedit и нажмите Enter, чтобы открыть редактор реестра.
  • Находясь в редакторе реестра, перейдите к пути Microsoft Office 16.0 Excel Options в программе Computer HKEY_CURRENT_USER. Обратите внимание, что 16.0 означает Excel 2016, возможно, вам придется поискать там свою версию Excel.
  • Щелкните правой кнопкой мыши на папке Options и переименуйте ее в любое имя, например, Old_Options.

Теперь запустите приложение Excel и проверьте, что опции включены в контекстном меню и в ленте.

Смотрите также: 10 советов по повышению производительности в Excel.

3. Запустите Excel в безопасном режиме.

Как мы уже упоминали, проблема может возникнуть из-за отключения функций в одной книге Excel. В Excel есть множество надстроек для расширения функциональных возможностей и преобразования файлов. Следовательно, эти типы надстроек также могут вызвать проблемы. Лучший способ проверить совместимость надстроек — открыть Excel в безопасном режиме, который отключит все надстройки.

  • Вызовите меню «Пуск», удерживая нажатой клавишу управления, выберите Excel. Если у вас есть ярлыки Excel на рабочем столе или панели задач, удерживайте нажатой клавишу управления и дважды щелкните или нажмите кнопку мыши, чтобы открыть его.
  • Вы получите следующее сообщение. Нажмите Да, чтобы подтвердить, что вы хотите открыть Excel в безопасном режиме.

Нажмите Win + R, чтобы открыть окно «Выполнить», если удерживать клавишу Ctrl сложно. Вы можете ввести команду excellent/safe. Использование этой команды откроет Excel в безопасном режиме.

Читайте так же:
Как добавить текст в середине выделенных ячеек в Excel?

Команда безопасного режима Excel

Команда безопасного режима в Excel

Проверьте доступные сокращения. Если да, то проблема может заключаться в конфликтующих дополнениях. Вам нужно будет отключить каждое дополнение по очереди, чтобы определить, какое из них вызывает проблему.

  • Откройте Excel и перейдите в меню «Файл> Параметры».
  • Щелкните раздел «Надстройки» и щелкните раскрывающееся меню рядом с параметром «Управление» внизу.
  • Выберите «Надстройки COM» и нажмите кнопку «Перейти…».
  • Снимите флажок для отключения надстройки.

Аналогичным образом можно перейти на вкладку «Надстройки Excel» и отключить их все. Затем вы сможете определить, какой из них вызывает проблему, по очереди.

4. Очистите папку автозагрузки Excel.

Иногда проблемы может вызывать поврежденная папка автозапуска программы Excel.

  • Откройте проводник и перейдите в раздел «C: Users UsernameData Roaming Microsoft Excel». Не забудьте заменить «username» на ваше имя пользователя в пути.
  • Вы должны увидеть папку XLSTART (она должна быть пустой, иначе вы ее не увидите) и файл .xlb или .xlsb в этой папке.
  • Вырежьте все файлы из этой папки и сделайте резервную копию.
  • Перезапустите Excel и убедитесь, что проблема решена.

Если вы не знаете правильный путь, нажмите Alt + F11 в Excel, чтобы открыть редактор VBA. Перейдите в меню «Вид> Немедленное окно» или нажмите клавиши Ctrl + F5. Вставьте приведенный ниже код в текстовое окно «Немедленно».

Путь запуска можно найти, нажав клавишу Enter.

Найти путь к запуску Excel

Найдите путь к запуску Excel

Примечание: Не удаляйте файлы .xlb или .xlsb. Это файл конфигурации Excel, содержащий настройки панели инструментов. Если проблема не исчезла, вы можете вставить файл обратно в папку.

5. Проверьте атрибуты файла.

Проверьте, просматриваете ли вы документ Excel только для чтения. Вы можете вырезать или удалять содержимое из файлов, доступных только для чтения, но при попытке сохранить их вы можете получить предупреждение. Удалите опцию «Только для чтения», щелкнув правой кнопкой мыши значок файла и перейдя в раздел «Свойства».

Читайте так же:
Как выбрать и удалить каждую четную строку в Excel?

Файл только для чтения

Файл, предназначенный только для чтения

Аналогично, при просмотре файла .xlsm макрос может отключить такие функции, как вырезать, копировать и удалить.

6. Восстановите Excel

Мы не рекомендуем делать этого, поскольку в этом случае будет восстановлена вся установка Office на вашем компьютере, включая другие приложения, такие как Word, Outlook и PowerPoint. Если вы испытываете различные проблемы с Office, включая отсутствие опций вырезания/копирования/удаления, попробуйте восстановить установку.

  • Нажмите клавиши «Win + I», чтобы открыть приложение «Настройки Windows».
  • Перейдите в раздел «Приложения> Приложения и функции».
  • Введите «офис» в поле поиска, чтобы отфильтровать установку Microsoft Office.
  • Щелкните установочный файл, а затем нажмите кнопку «Изменить».
  • В зависимости от вашей установки следуйте дальнейшим инструкциям по онлайн-ремонту.

Включение вариативности реакции на нажатие правой кнопки мыши в зависимости от длительности нажатия

Этот метод можно использовать так, чтобы быстрый щелчок имел тот же эффект, что и нажатие клавиши Enter, а длительное нажатие вызывало контекстное меню.

  1. Выберите меню приложения Параметры .
  2. В диалоговом окне "Параметры" выберите вкладку "Пользовательские". В разделе "Соответствие стандартам Windows" нажмите "Адаптация правой кнопки мыши. ".
  3. В диалоговом окне "Адаптация правой кнопки мыши" установите флажок "Учитывать длительность нажатия".

Можно задать продолжительность нажатия, при которой оно считается долгим. По умолчанию действует значение "250 миллисекунд".

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector