Контекстное меню в excel мышкой

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

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

Чтобы вызвать контекстное меню, просто удерживая клавишу Shift нажмите F10.

Дополняем контекстное меню Excel

Неспешно продолжаем наши повествования о полезных расширениях для приложений из комплекта Microsoft Office. Рассматриваемый сегодня плагин «Настройка контекстного меню» предназначен для модификации контекстного меню ячейки в табличном редакторе Excel.

С помощью этого плагина можно дополнить стандартное контекстное меню любыми пунктами для работы в текущей сессии Excel, либо сохранить сделанные изменения для постоянного использования. Программа также позволяет восстановить вид контекстного меню по умолчанию.

После распаковки архива необходимо скопировать файл надстройки Rightbtn.xla в папку Microsoft Office, в которой находятся файлы надстроек Excel (например, C:Program FilesMicrosoft OfficeOfficeLibrary). Файл справки Rightbtn.hlp необходимо скопировать в папку справочных файлов Windows (как правило, это C:WindowsHelp).

Добавление плагина к Excel

Теперь необходимо подключить надстройку. Для этого после запуска Excel переходим в диалоговое окно «Надстройки», выбрав команду «Сервис -> Надстройки». В открывшемся окне отмечаем строку Rightbtn. Теперь в табличном редакторе появится новая панель «Контекстное меню» с двумя кнопками: одна вызывает диалог настройки, вторая удаляет все добавленные команды из контекстного меню.

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

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

Настройка контекстного меню

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

После завершения настройки необходимо нажать «ОК», и в контекстном меню ячейки будут отображены все добавленные пункты.

Контекстное меню

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

Контекстное меню

Рисунок 6 Контекстное меню

В контекстное меню входят команды, которые наиболее часто используются для редактирования объекта, по которому выполнен щелчок. Соответственно, набор команд такого меню зависит от того, по какому объекту выполнен щелчок. Например, после щелчка правой клавишей мыши по ячейке таблицы появляется контекстное меню с командами Вырезать, Копировать, Вставить, Специальная вставка. Добавить ячейки.

Настройка меню и панели инструментов

Любая из встроенных панелей инструментов Excel может быть выведена на экран. Вы можете настроить эти панели так, чтобы они включали наиболее часто используемые кнопки. Для этого выполнив команду Вид / Панели инструментов (Рисунок 7).

Добавление панелей инструментов

Рисунок 7 Добавление панелей инструментов

После выбора в нем пункта Настройка вызывается соответствующее окно диалога (Рисунок 8).

Настройка панелей инструментов

Рисунок 8 Настройка панелей инструментов

Используя возможности, предоставленные в этом окне, можно удалить и разместить любую из кнопок на нужную панель инструментов. Можно создать свои собственные панели инструментов. Для этого достаточно в окне диалога Настройка нажать кнопку Создать и в поле ввода Имя панели инструментов ввести новое имя панели. Панели инструментов могут быть размещены в любой рабочей книге. Excel сохраняет все сделанные изменения панелей инструментов. Для встроенной кнопки или панели инструментов всегда можно восстановить исходное состояние.

Контекстное меню

Контекстное меню

Форматировать ячейки можно и с помощью контекстного меню. В версии 2007 программы Excel реализовано новое контекстное меню, состоящее из двух частей. Щелкните правой кнопкой мыши на любой ячейке. Появится контекстное меню (рис. 3.5).

Рис. 3.5. Контекстное меню

Обратите внимание, что контекстное меню содержит две независимые друг от друга части. Его верхняя часть предназначена для форматирования шрифта и абзацев. Это – панель форматирования, которая содержит некоторые элементы управления групп Шрифт, Выравнивание и Число вкладки Главная ленты.

ВНИМАНИЕ

Если вы щелкнете правой кнопкой мыши на ячейке, расположенной в нижней части листа, панель форматирования может появиться под контекстным меню.

Нетрудно догадаться, что данные элементы управления дублируют аналогичные кнопки и раскрывающиеся списки на ленте. Поэтому не будем рассматривать форматирование ячеек с помощью панели форматирования. Отмечу лишь, что использование панели форматирования удобно тем, что она появляется независимо от того, какая вкладка ленты открыта, то есть вы можете применить приемы форматирования, не активизируя вкладку Главная ленты.

Данный текст является ознакомительным фрагментом.

Читайте также

Контекстное меню

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

Контекстное меню гиперссылки

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

Контекстное меню

Контекстное меню
Вы не забыли про старое доброе Контекстное меню? Помните, мы знакомились с ним при работе с Windows, Microsoft Office… А если коротко – оно нам пригождалось во всех без исключения программах, с которыми нас сталкивала жизнь.Есть оно и в Internet Explorer. А как вызвать его, мы

Контекстное меню Проводника

Контекстное меню Проводника
Чтобы сделать недоступным контекстное меню Проводника при щелчке правой кнопкой мыши, найдите ветвь:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer– и создайте параметр NoViewContextMenu типа DWORD со значением 1

Контекстное меню Проводника

Контекстное меню Проводника
Блокировка контекстного менюЧтобы сделать недоступным контекстное меню Проводника при щелчке правой кнопкой мыши, найдите ветвь: HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer- и создайте параметр типа DWORD ·NoViewContextMenu· со значением 1 Удаление команды

Контекстное меню в Internet Explorer

Контекстное меню в Internet Explorer
Лишние команды в контекстном менюЕсли контекстное меню вашего браузера, выпадающего, если нажать правую кнопку мыши на ссылке, содержит слишком много лишних команд, то найдите раздел HKCUSOFTWAREMicrosoftInternet ExplorerMenuExt.Данный раздел содержит

Контекстное меню

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

Контекстное меню

Контекстное меню
Контекстное меню Excel 2007 в общем случае включает в себя следующие команды: Вырезать, Копировать, Вставить <из буфера обмена>, Вставить <объект>, Удалить, Очистить содержимое, Вставить примечание, Формат ячеек, Выбрать из раскрывающегося списка и

Контекстное меню

Контекстное меню
Форматировать ячейки можно и с помощью контекстного меню. В версии 2007 программы Excel реализовано новое контекстное меню, состоящее из двух частей. Щелкните правой кнопкой мыши на любой ячейке. Появится контекстное меню (рис. 3.5).

Рис. 3.5. Контекстное

Контекстное меню

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

Контекстное меню

Контекстное меню
Для выбора пунктов меню и пиктограмм на панели инструментов часто используется устройство указания – мышь. При работе с мышью щелчок левой кнопкой в области рисования обычно используется для выбора и указания точки на экране; щелчок правой кнопкой мыши

Контекстное меню

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

Контекстное меню

Контекстное меню
Если вы задавались вопросом, как скрыть тот или иной пункт контекстного меню файла и папки, то в данном разделе вы сможете найти ответы на свои вопросы.Команда Запуск от имени администратораВ контекстном меню исполняемых файлов (и ярлыков на них) по

Контекстное меню

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

Контекстное меню

Контекстное меню
Контекстное меню вызывается щелчком правой кнопки мыши на каком-либо объекте. В нем расположен список часто используемых команд для конкретного объекта. Для примера щелкните правой кнопкой мыши на Рабочем столе, значках, различных областях Панели задач

Контекстное меню

Контекстное меню
Теперь о такой полезной функции, как контекстное меню. Правильнее его назвать контекстно-зависимым, потому что оно зависит от того, на каком элементе страницы вы нажмете правую кнопку мыши. Если вы на какой-нибудь ссылке (строчка с адресом или словом,

Не можете понять, почему правая кнопка мыши не работает в Excel? Что может быть причиной?

  1. Активируется макрос для блокировки вызова контекстного меню;
  2. Глюк связан с неправильным выходом из предыдущего документа Excel;
  3. Общий сбой со стороны программы;
  4. Сломанная мышь или клавиатура;
  5. Плохая операционная система;
  6. Вирус на вашем компьютере;
  7. Возник конфликт с подключенным принтером.

Основное назначение этой клавиши — вызвать контекстное меню с основными командами: «Вставить», «Копировать», «Форматировать ячейки», «Гиперссылка» и так далее. Понятно, что если не работает правая кнопка мыши, «кашу варить нельзя» ни в Excel, ни в любой другой программе.

Почему мы упомянули другие утилиты? Потому что некоторые причины, по которым мышь не работает, связаны с Excel, а другие — нет. Как узнать, является ли проблема глобальной или локальной? Очень просто: сложите книжный лист и щелкните правой кнопкой мыши на рабочем столе. Контекстное меню появилось? Так что стоит поискать объяснение в Excel. Никакой реакции? Проверьте операционную систему или подключенные устройства.

Давайте подробнее рассмотрим, почему щелчок правой кнопкой мыши может не работать в Excel, а также узнаем, как это исправить? Начнем с ситуаций, когда контекстное меню заблокировано только в указанной программе.

Работает макрос, запрещающий вызов контекстного меню

Макрос — это специальный код (мини-программа), написанный на языке, понятном Excel. Он предназначен для выполнения определенных действий, очень часто повторяющихся. Вы можете создать любое количество таких макросов, вы даже можете объединить их в своей личной книге, установив определенную комбинацию клавиш для активации каждой команды.

Макросы в Excel очень популярны, потому что они позволяют значительно оптимизировать вашу работу. Однако иногда преподносят «сюрпризы». Примером может служить наша ситуация, когда в Excel внезапно и без причины не работает правая кнопка мыши.

Чтобы объяснить произошедшее максимально просто, вы открыли чей-то документ, в котором запущен макрос, отключающий вызов контекстного меню. Или они сами по неосторожности и незнанию где-то использовали.

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

Если правая кнопка мыши только что перестала работать, запомните порядок, в котором вы открывали файлы, листы и книги. Затем действуйте в обратном порядке. Просмотрите все документы, все формы. Проверяйте работоспособность ключа везде. У вас есть реальный шанс найти файл Excel, содержащий макрос, который изменяет способ работы программы (блокируя щелчок правой кнопкой мыши). Возможно, при выходе из этого файла произошел сбой и система не сбрасывала настройки на место и не применяла их ко всем книгам. Отключите этот код, как только найдете «нулевого пациента». Где его найти?

  • Откройте вкладку «Вид» и найдите самый правый (верхний) подраздел, который называется: «Макрос»;
  • Нажмите, выберите «Макрос»;

  • Ищите в списке незнакомцев или новых;
  • Выделите и выберите справа кнопку «Удалить»;
  • Или в нижней части окна щелкните раскрывающуюся вкладку и выберите «Эта книга» вместо «Все открытые книги». Теперь этот макрос работает только в этом документе.
  • Иногда во многих входящих файлах невозможно найти отложенный скрипт. Или слишком долго. Особенно, если они поступают из разных источников (например, многие люди постоянно присылают вам вакансии в документах Excel). Поэтому сделайте это проще: отключите этот макрос во всех книгах Excel, выбрав «Все открытые книги» в раскрывающемся списке».

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

  • Откройте Excel и нажмите «Alt + F11» (на некоторых ноутбуках + FN);
  • Откроется Visual Basic для приложений (редактор VBA);
  • Выделите лист с помощью ключевой команды «Ctrl + R» и пройдите по пути Вставка — Модуль;
  • Вставьте код в окно редактора:
    Sub Reset_All_Bars()
    Dim cmbComBar как CommandBar
    В случае ошибки Продолжить Далее
    Для каждого cmbComBar в CommandBars
    cmbComBar.Reset: cmbComBar.Enabled = True ‘: cmbComBar.Visible = True
    Далее cmbComBar
    Конец подзаголовка
  • Для его активации нажмите клавишу F5;
  • Готово, закройте редактор и проверьте, работает ли теперь правая кнопка мыши в Excel.

Неправильный выход из приложения

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

Попробуйте закрыть эту книгу и любые другие открытые документы Excel. Теперь рекомендуется перезагрузить компьютер. Лучше всего снова запустить программу из нового файла, который вы только что создали.

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

Поломка оборудования

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

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

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

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

«Шалит» операционная система

Переустановка Windows — неизбежно необходимая мера время от времени. Думать о его целесообразности позволит не только проблемы с Excel, но и другие «колокольчики». Например, более частые явления «синего экрана», общее замедление работы компьютера, длительная загрузка документов, не работает правая кнопка, причем не только в Excel и т.д.

Вирусы

Здесь все банально и просто — запустите глобальную проверку на вирусы на своем компьютере. Скорее всего, не поэтому кнопка не работает, но никакого вреда это действие точно не принесет.

Конфликт с подключенным принтером

Также правая кнопка мыши может не работать в Excel 2016 из-за неправильной настройки параметров конфигурации принтера.

  • Зайдите в Проводник (Пуск) и выберите раздел «Устройства и принтеры»;
  • Выберите «Microsoft XPS Document Writer» правой кнопкой мыши»;
  • Установите значение «Использовать по умолчанию»;
  • Готовый.

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

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

Добавить пользовательскую кнопку в контекстное меню в Excel с кодом VBA


Добавить пользовательскую кнопку в контекстное меню в Excel с кодом VBA

Предположим, вы создали сценарий VBA с именем MyMacro в своем Excel, и теперь вам нужно добавить эту функцию в контекстное меню для запуска кода, просто щелкнув его. Пожалуйста, сделайте следующее.

1. нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окно, дважды щелкните Эта рабочая тетрадь слева Проекты под застройку панель. Затем скопируйте и вставьте приведенный ниже код VBA в ThisWorkbook (Код) окно.

Код VBA: добавить пользовательскую кнопку в контекстное меню в Excel

Private Sub Workbook_Deactivate()
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
        End With
    On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cmdBtn As CommandBarButton
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
            Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
        End With

        With cmdBtn
           .Caption = "MyMacro"
           .Style = msoButtonCaption
           .OnAction = "MyMacro"
        End With
    On Error GoTo 0
End Sub

Внимание: В коде замените все «MyMacro» с именем макроса, который вы создали в Excel.

3. нажмите другой + Q ключи для выхода из Microsoft Visual Basic для приложений окно.

Теперь вы вернетесь в интерфейс Excel, после щелчка правой кнопкой мыши по ячейке вы увидите, что новая кнопка с указанным именем добавлена ​​в контекстное меню, как показано ниже. При нажатии на кнопку немедленно запускается соответствующий макрос.


Статьи по теме:

  • HКак вставить новую пустую строку автоматически с помощью командной кнопки в Excel?
  • Как использовать командную кнопку для сохранения активного рабочего листа в виде файла PDF в Excel?
  • Как сохранить и закрыть активную книгу без запроса командной кнопки в Excel?
  • Как обновить или вставить (текущую) дату и время с помощью командной кнопки в Excel?
  • Как отключить кнопку после однократного нажатия в Excel?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (15)


Оценок пока нет. Оцените первым!

 

staudio

Пользователь

Сообщений: 24
Регистрация: 09.12.2015

#1

11.04.2018 10:55:01

Всем добрый день, возникла проблема, очень надеюсь на вашу помощь.
На одном ПК возникла проблема — перестало появляться контекстное меню при нажатии правой кнопкой мыши в любом месте документа (на ячейку, на столбец, на строку), проблема актуальная для любого файла Excel.
Поиск по данному форуму дал результат, в одной из старых тем нашел слудующее:

Чтобы заработало контекстное меню для ячеек:

Код
Sub macro1() 
With CommandBars("Cell") 
.Reset 
.Enabled = True 
End With 
End Sub

Для строк:

Код
Sub macro1() 
With CommandBars("Column") 
.Reset 
.Enabled = True 
End With 
End Sub

Для столбцов:

Код
Sub macro1() 
With CommandBars("Row") 
.Reset 
.Enabled = True 
End With 
End Sub

Как работает данный макрос к сожалению не понимаю, но после запуска сразу же во всех документах начинает работать контекстное меню, но временно  :( через какое-то время проблема вновь появляется и снова приходится запускать этот макрос. Из того что пробовал — полная переустановка офиса с очисткой реестра и тд, не помогло через день проблема вернулась.

Понятно что можно переустановить Windows, но хочется разобраться в проблеме.

Всем заранее спасибо за советы.

 

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

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Wiss

Пользователь

Сообщений: 1028
Регистрация: 08.11.2016

Вероятно, в каком-то из файлов excel, с которым вы работаете стоит макрос, который меняет интерфейс excel, в частности убирает контекстное меню. Периодически он глючит и не возвращает все настройки на место.

Я бы предложил объединить эти макросы, запихать в личную книгу макросов и вывести кнопку на ленту, чтобы можно его было запускать в один клик.

Изменено: Wiss11.04.2018 11:21:21

Я не волшебник, я только учусь.

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#4

11.04.2018 11:38:12

Цитата
Wiss написал:
Периодически он глючит

Это не глюк, это недоработка кода. Принцип один, уходя гасите свет. Пришел на лист, книгу…..  где это надо включи, ушел — отключи.  Кто-то просто это не учел.

По вопросам из тем форума, личку не читаю.

 

Wiss

Пользователь

Сообщений: 1028
Регистрация: 08.11.2016

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

Я не волшебник, я только учусь.

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

Попробуйте найти  и переименовать файл:
C:UsersВашеИмяAppDataRoamingMicrosoftExcelExcel15.xlb
где ВашеИмя — имя, под которым Вы входите в Windows.

После этого зайдите в Excel. Все меню должны восстановиться до первоначального состояния.

Изменено: sokol9211.04.2018 14:23:18

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#7

11.04.2018 13:26:28

Цитата
sokol92 написал:
C:UsersВашеИмяAppDataRoamingMicrosoftExcelExcel15.xlb

%USERPROFILE%AppDataRoamingMicrosoftExcel

так корректнее

По вопросам из тем форума, личку не читаю.

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

Конечно, но мой вариант понятнее (проверено) :)  

 

staudio

Пользователь

Сообщений: 24
Регистрация: 09.12.2015

Wiss, БМВ,
ну то что возможно отрабатывает какой-либо скрипт в файлайх это возможно, так как файлов excel  у пользователя много и поступают из разных сотронних компаний, но ставить горячую клавишу чтобы каждый раз нажимать её если возникает проблема это думаю не лучшее решение в силу того что пользователь мягко говоря не очень терпеливый ))) но в любом случае спасибо за совет и потраченное время, приму к сведению рекомендации
sokol92,
Спасибо большое за совет, попробую, если это поможет то может сделаю чтобы каждую ночь автоматически этот файл удалялся из каталога

Еще теоретически можно отключить работу макросов вообще, но думаю это не вариант так как в некоторых файлах макросы нужны.

Изменено: staudio11.04.2018 13:55:57

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

Успехов! Сообщите о результате.

 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#11

03.10.2019 11:49:05

Добрый день.

Задался вопросом,  на открытии книги   код  скрывает все данные на ribbon-e. При закрытии книги отображает с включением всех параметров. Но все равно , когда открываешь другую книгу , правый клик мыши не работает . Не помогает также вызов в  Workbook_BeforeClose  кода, приведенного выше, есть идеи,куда рыть?

Код
Private Sub Workbook_Open()

    ChangeInterface False
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
ChangeInterface True
ActiveWindow.Close False

End Sub


Private Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "Application")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "88888")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub
 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#12

03.10.2019 13:31:57

Цитата
restation написал:
куда рыть

в сторону других событий книги. Ведь beforeClose, как следует из названия, срабатывает только перед закрытием книги с кодом, а не перед открытием другой. Но есть события Activate и Deactivate, которые можно использовать, чтобы скрывать или показывать панель в зависимости от того, какая книга активна.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#13

03.10.2019 14:08:58

Дмитрий(The_Prist) Щербаков,  Приветствую, нашел ошибку , на userform  был CommandButton , который закрывал прложение , пришлось и туда воткнуть этот reset,воспользовался вашим. А касаемо  Activate и   Deactivate  это я предусмотрел….

Код
Sub скинуть_правый_клик()
    Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub
 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#14

04.10.2019 10:27:23

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

Открываем

Скрытый текст

События закрытия.

Скрытый текст

Активация ( продублировал все переходы )

Скрытый текст

Деактивация ( продублировал все переходы )

Скрытый текст

 

лучше бы книгу с кодами приложили. Так проблему искать сложно. Например, непонятно реально ли задублированы процедуры ChangeInterface или Вы нам их два раза специально написали? Если Вы — зачем? В общем вопросов больше, чем ответов. У меня по крайней мере.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

Дмитрий(The_Prist) Щербаков,Пожалуйста, пример кинул, в оригинале userform заполнен боксами + название файла другое..

Прикрепленные файлы

  • пример.xlsm (56.02 КБ)

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#17

04.10.2019 16:21:10

Цитата
restation написал:
правый клик мыши не работает

При открытии книги отключается обработка событий и корректируются меню.
При закрытии книги никакие события не обрабатываются (обработка событий отключена) и меню остаются «испорченными».

Выложенная Вами книга может сильно разволновать (после открытия) неподготовленного читателя. :)

Владимир

 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#18

04.10.2019 21:44:45

Цитата
sokol92 написал:
При закрытии книги никакие события не обрабатываются (обработка событий отключена) и меню остаются «испорченными».

А вот из этого , да ?

Код
Call Reset_Events


Sub Reset_Events()
    Application.EnableEvents = False
End Sub


Нужно вот так?

Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.DisplayAlerts = False  
   Call Восстановить_Интерфейс
   Workbooks("****").Close
   Application.DisplayAlerts = True 
End Sub


Private Sub Восстановить_Интерфейс()
       ChangeInterface True
   Call востановить правый_клик
    End Sub   

Sub востановить правый_клик()
Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub

Private Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "Application")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "Print_Tobacco")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub
 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#19

04.10.2019 21:57:16

sokol92, рибон же востанавливается полностью, все корректно, проблема с правым кликом. Если запускать :

Код
Sub востановить_правый_клик()
Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub

Никаких проблем после , разлипает. Добавил это событие на   Workbook_BeforeClose  , не работает. Может это связанно как-то с формой?

Клавиша есть на форме, которая закрывает все приложение в целом , по типу :

Код
Private Sub CommandButton2_Click()

    Call востановить_правый_клик
    ActiveWindow.Close False
End Sub

Изменено: restation04.10.2019 22:06:41

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#20

05.10.2019 17:26:12

Цитата
restation написал:
Добавил это событие на   Workbook_BeforeClose

Так как раз в этом и проблема.
При открытии книги обработка событий объектов Excel Вами отключается (свойство Application.EnableEvents устанавливается в False). Соответственно, при закрытии книги не будет вызван макрос, обрабатывающий событие

Workbook.BeforeClose

. Вы в этом можете убедиться, поставив, например, выдачу какого-либо сообщения в начале макроса Workbook_BeforeClose.

Владимир

 

restation

Пользователь

Сообщений: 94
Регистрация: 07.06.2018

#21

06.10.2019 01:50:22

sokol92,  Благодарю…. это был мой случай

Цитата
БМВ написал:
Пришел на лист, книгу…..  где это надо включи, ушел — отключи
 

kerzhaev

Пользователь

Сообщений: 4
Регистрация: 09.09.2013

решить проблему помогло переименование файла в системной папке

 

Cthutq

Пользователь

Сообщений: 1
Регистрация: 23.01.2021

#23

23.01.2021 09:07:18

Привет!
Помогите разобраться почему не работает контекстное меню вызываемое правой кнопкой мыши? Если переименовать файл Excel15.xlb, то всё начинает работать, но стоит открыть файл с макросом сразу перестает работать. Я в макросах совсем не разбираюсь, прошу поправить или подсказать что сделать.

Код
Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "1")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub

Sub УбратьВсё()
    ChangeInterface False
End Sub

Sub ВосстановитьИнтерфейс()
    ChangeInterface True
End Sub

Private Sub Workbook_Open() ' открытие книги
    УбратьВсё
End Sub
Private Sub Workbook_Activate() ' возврат на эту книгу из другой
    УбратьВсё
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) ' закрытие книги
    ВосстановитьИнтерфейс
End Sub
Private Sub Workbook_Deactivate() ' переключение на другую книгу
    ВосстановитьИнтерфейс
End Sub

Прикрепленные файлы

  • 1.xlsm (16.09 КБ)

 

FrOleg80

Пользователь

Сообщений: 29
Регистрация: 02.06.2019

#24

03.08.2021 17:48:47

Цитата
sokol92 написал:  Попробуйте найти  и переименовать файл…

Спасибо. У меня была похожая ошибка, помог Ваш совет.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Контекстное меню в excel можно вызвать
  • Контекстное меню в excel клавишами
  • Контекстное меню в excel 2007
  • Контекстное меню word это
  • Контекстное меню word 2019

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии