VBA - создать список меню, когда вы щелкаете правой кнопкой мыши по списку

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

Я не могу найти способ создать такую ​​​​опцию. У кого-нибудь есть идея?

Пример простого щелчка правой кнопкой мыши


person Tomislav Horvat    schedule 24.04.2019    source источник
comment
Для списков нет события щелчка правой кнопкой мыши. Вероятно, вы могли бы создать собственный прослушиватель, но это выше моих сил. Возможно, вам лучше добавить одну или несколько кнопок на UF или лист, содержащий эти параметры.   -  person Tim Stack    schedule 24.04.2019
comment
Спасибо, Тим, я надеялся, что есть какое-то обходное решение. :(   -  person Tomislav Horvat    schedule 24.04.2019


Ответы (2)


Вот некоторый код для события правого клика:

Выбрать элемент ListBox при щелчке правой кнопкой мыши в Word VBA

Замените этот код кодом вашего контекстного меню:

Me.Caption = derivedIndex & " = " & ListBox1.List(derivedIndex)

Вот пример всплывающего меню (необходимы навыки понимания вызовов Win32 API...) https://www.vbarchiv.net/api/api_createpopupmenu.html

person Shmukko    schedule 24.04.2019
comment
Спасибо за вклад, к сожалению, я не настолько хорош в немецком языке, чтобы понять ваш вызов Win32 API. Думаю, я сделаю простой двойной щелчок, который откроет скрытую форму редактирования и кнопки для добавления новой строки и удаления выбранной строки. - person Tomislav Horvat; 25.04.2019

Меню правой кнопки мыши в списке, созданном с использованием только класса (без использования функции Api или Declare), содержит следующие кнопки:

  • Увеличить размер шрифта
  • Уменьшить размер шрифта
  • Сортировать от А до Я
  • Удалить список
  • Убрать все

введите здесь описание изображения

По этой ссылке можно найти коды VBA и образец файла

person kadrleyn    schedule 25.04.2021