powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / пункт в контекстном меню в Excel
22 сообщений из 22, страница 1 из 1
пункт в контекстном меню в Excel
    #33902016
dacino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно ли путем написания кода VBA(макроса) добавить пункт в контекстное меню Excel, ну и заодно узнать на какой ячейке его вызвали, заранее спасибо
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33902027
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контекстное меню ячейки - CommandBars("Cell")
В него можно добавить строчки - CommandBars("Cell").Controls.Add ...
На какой вызвали? - На активной (выбранной).
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33902037
dacino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а, сори за назойливость, свой пункт туда добавить
P.S. в макросах очень не шарюсь, если не трудно покажи на примере, я про пункт
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33903336
arseny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если через CommandBars("Cell").Controls(1).Delete я удалю пункт, как потом его восстановить?
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33905581
arseny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arsenyА если через CommandBars("Cell").Controls(1).Delete я удалю пункт, как потом его восстановить?
Спасибо за помощь! :-)
Код: plaintext
Application.CommandBars("Cell").Reset


dacino разобрался?
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33951119
dacino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне бы
Код: plaintext
Application.CommandBars("Cell").add(???)
??? какими должны быть параметры не знаю в справке "про ЭТО" ничего не нашел
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33951329
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    Dim myBar As CommandBar
    Dim myItem As CommandBarControl
    
    
    Set myBar = CommandBars.Add _
      (Name:="MyShortcut", Position:=msoBarPopup, Temporary:=True)
    
    Set myItem = myBar.Controls.Add(Type:=msoControlButton)
    With myItem
        .Caption = "&Числовой формат..."
        .OnAction = "ShowFormatNumber"
        .FaceId =  1554 
    End With
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33951335
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Список контектных меню
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #33954019
dacino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
преогромное спасибо!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
пункт в контекстном меню в Excel
    #35517415
vbhevbh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как с помощью Application.CommandBars("Cell").Add добавить в контекстное меню свои пункты и в режиме Вид\Обычный, и в режиме Вид\Разметка страниц? Почему они появляются при вызове контекстного меню в первом случае и не появляются во втором?
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #35518458
vbhevbh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только так получается:

With Application.CommandBars(41)
With Application.CommandBars(34)
With .Controls
With .Add(Type:=msoControlButton)
.Caption = "Пункт1"
.OnAction = "MyMacros1"
.FaceId = 6059
.BeginGroup = True
End With
End With
End With
End With
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
пункт в контекстном меню в Excel
    #36725648
Подскажите, пожалуйста, почему не обрабатывается OnAction в созданном контекстном меню?
Уже всё перепробовал. Менюшка при щелчке появляется, но ничего при нажатии не происходит.
Вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Worksheet_Activate()
    Set cMenu = Application.CommandBars.Add("Split", msoBarPopup, , True)
    Set mButton = cMenu.Controls.Add
    mButton.Caption = "Split"
    mButton.FaceId =  1554 
    mButton.OnAction = "LinesSplit"
    mButton.TooltipText = "123"
End Sub

Public Sub LinesSplit()
    ActiveSheet.Cells( 7 ,  2 ).Value = "123"
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    
    If Target.Column =  1  Then
        Application.CommandBars("Split").ShowPopup
        Cancel = True
        
    End If
End Sub
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36726742
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Попов,

Код: plaintext
1.
2.
Public Sub LinesSplit()
ActiveSheet.Cells( 7 ,  2 ).Value = "123"
End Sub
надо вынести в отдельный модуль.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36727041
big-duke,

Огромное спасибо! Теперь всё работает корректно.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36729547
Подскажите, пожалуйста, почему может не работать метод Select, помещённый в пример выше?
Идея заключается в следующем.
Контекстное меню, которое я создавал, неким образом должно копировать строку и вставлять её поверх копируемой. Тоесть, дублирует функции копировать и вставить, но с определёнными дополнительными действиями.

Так вот код не работает:

ActiveSheet.Rows(ActiveCell.Row).Select
Selection.Copy
Selection.Insert shift:=xlDown

Замечу, что этот код находится в процедуре, присвоенной OnAction для моего контекстного меню.
Процедура, как и полагается, вынесена в отдельный модуль.

Всё остальное, находящееся в той же самой процедуре выполняется. Таким образом, я делаю вывод, что проблема именно с методом Select.

Может есть какие-то ограничения в использовании Select при исполнении контекстного меню?

Заранее спасибо.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36729884
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Попов,

а почему вы решили, что селект не работает ?
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36729909
big-duke,

Я помещал данный код в разные варианты событий, например на двойной клик. Всё работает. Строки копируются.

А в этой процедуре, копирования не происходит. Даже строка не выделяется. Соответственно, я и предположил, что Select здесь не работает.

Пробовал без Select, обращался к строке и использовал Copy/Insert. Тоже не происходит ничего.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36730092
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Попов,

а вобще процедура LinesSplit отрабатывает ?
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36730149
Да. Процедура работает - это я проверил в первую очередь.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36730507
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Попов,

попробуйте первую строчку заменить на
activecell.EntireRow.Select
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36732489
Попробовал. К сожалению, никакого эффекта.
...
Рейтинг: 0 / 0
пункт в контекстном меню в Excel
    #36815977
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал код из поста [9057024], всё работает и ActiveCell.EntireRow.Select строчку выделяет в том числе.

В приведенном коде, при щелканье правой кнопкой мыши по ячейкам первого столбца появляется лишь один пункт Split, а как сделать, чтобы стандартные пункты контекстного меню (например формат ячеек и всё остальное), тоже там были, не пропадали.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / пункт в контекстном меню в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]