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


dacino разобрался?
...
Рейтинг: 0 / 0
29.08.2006, 23:41
    #33951119
dacino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
мне бы
Код: plaintext
Application.CommandBars("Cell").add(???)
??? какими должны быть параметры не знаю в справке "про ЭТО" ничего не нашел
...
Рейтинг: 0 / 0
30.08.2006, 09:06
    #33951329
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
Код: 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
30.08.2006, 09:08
    #33951335
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
Список контектных меню
...
Рейтинг: 0 / 0
30.08.2006, 23:31
    #33954019
dacino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
преогромное спасибо!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
02.09.2008, 10:52
    #35517415
vbhevbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
Подскажите, пожалуйста, как с помощью Application.CommandBars("Cell").Add добавить в контекстное меню свои пункты и в режиме Вид\Обычный, и в режиме Вид\Разметка страниц? Почему они появляются при вызове контекстного меню в первом случае и не появляются во втором?
...
Рейтинг: 0 / 0
02.09.2008, 15:59
    #35518458
vbhevbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
Только так получается:

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
Период между сообщениями больше года.
06.07.2010, 14:16
    #36725648
пункт в контекстном меню в Excel
Подскажите, пожалуйста, почему не обрабатывается 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
06.07.2010, 22:28
    #36726742
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пункт в контекстном меню в Excel
Максим Попов,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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