powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / А все таки! Как добавить свой пункт в контекстное меню?
16 сообщений из 16, страница 1 из 1
А все таки! Как добавить свой пункт в контекстное меню?
    #36441642
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго вам дня!
Посмотрите, пожалуйста, что не так в макросах для создания собственного пункиа меню? Вроди бы все сделал правильно (в другом месте работает хорошо) , а здесь макрос выдает ошибку.
Заранее спасибо!
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36441770
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пошу прощения !
Забыл приложить файл
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446480
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod,

Чтобы не было ошибки компиляции, нужно в референсах подключить библиотеку "Microsoft Office 11.0 Object Library" (это для Excel 2003, для других циферка другая).
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446510
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod,

Так-же я бы переделал макросы для создания и удаления меню на вот это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Sub PopupMenuCreate() 'Создание меню.
 Dim m As Integer
 Dim Sub_Report

 On Error Resume Next
 Application.CommandBars("Manage (Ctrl+m)").Delete
    
 'Создание меню.
 Set mnuManage = Application.CommandBars.Add(Name:="Manage (Ctrl+m)", Position:=msoBarTop, MenuBar:=False, temporary:=True)
 mnuManage.Visible = True
 
 'Создание подпункта меню.
 Set Sub_Report = mnuManage.Controls.Add(Type:=msoControlPopup)
 Sub_Report.Caption = "Калькулятор"
 With Sub_Report.Controls.Add(Type:=msoControlButton)
   .Style = msoButtonCaption
   .Caption = "Калькулятор"
   .OnAction = "ShowForm"
 End With
    
End Sub

Код: plaintext
1.
2.
3.
Sub PopupMenuDelete() 'Удаление меню.
 On Error Resume Next
 Application.CommandBars("Manage (Ctrl+m)").Delete
End Sub
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446631
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
доброго вам дня и прекрасного настроения!
Я не знаю как их найти. Если не трудно, укажите пожалуйста, путь к этим библиотекам.
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446694
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod, находите в списке такую же, только 11.0
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446758
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня 11 нет, подключил 12 - работает.
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446767
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121У меня 11 нет, подключил 12 - работает.там любая подходит
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446803
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
После включения указаных библиотек, мои коды заработали. Спасибо вам большое за помощь!
А ваш код ругается на строке:
Set mnuManage = Application.CommandBars.Add(Name:="Manage (Ctrl+m)", Position:=msoBarTop, MenuBar:=False, temporary:=True)

И словосочетании: mnuManage =
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446823
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,
прошу прощения! Не ваш, а код уважаемого Djon Player.
Просто интересно. Почему не работает?
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36446855
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что со мною? Опять напутал с никами.
Короче. Всем большое СПАААААСИБО за результативную помощь!
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36447019
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod, вот нашел свой старый топик про менюшки
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36447176
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,Вам персональное СПАСИБО!!!!
Полезная и поучительная штука!штука
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36447700
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GleodPlanB,
прошу прощения! Не ваш, а код уважаемого Djon Player.
Просто интересно. Почему не работает?Странно, а у меня наоборот ваш код не работал, хотя библиотеку подключил.
После запуска кода создания меню, код выполнялся, но меню не появлялось, потому и наваял свой код. И он у меня создавал нужное меню и запускал калькулятор.
Могу лишь предположить, что у вас стоит команда Option Explicit, а она требует описания всех переменных.
Я эту строчку убирал, поэтому у меня всё работало.
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36448027
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
Я все таки нашел причину, из-за которой не работало выпадающее меню.
Sub PopupMenuCreate() 'Создание меню.
Dim m As Integer
Dim Sub_Report

On Error Resume Next
Application.CommandBars("Manage (Ctrl+m)").Delete

'Создание меню.
Set mnuManage = Application.CommandBars.Add(Name:="Manage (Ctrl+m)", Position:=msoBarTop, MenuBar:=False, temporary:=True)
mnuManage.Visible = True

'Создание подпункта меню.
Set Sub_Report = mnuManage.Controls.Add(Type:=msoControlPopup)
Sub_Report.Caption = "Калькулятор"
With Sub_Report.Controls.Add(Type:=msoControlButton)
.Style = msoButtonCaption
.Caption = "Калькулятор"
.OnAction = "PopUpCalculator"
End With
End Sub
В макрос нужно был посыл на открывающий форму календаря макрос ShowForm, а нужно было на - PopUpCalculator. И все заработало! Естественно, что при включенных библиотеках названых вами.
...
Рейтинг: 0 / 0
А все таки! Как добавить свой пункт в контекстное меню?
    #36449761
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GleodDjon Player,
Я все таки нашел причину, из-за которой не работало выпадающее меню.

В макрос нужно был посыл на открывающий форму календаря макрос ShowForm, а нужно было на - PopUpCalculator. И все заработало! Естественно, что при включенных библиотеках названых вами.Причина на самом деле в том, что я привёл код макроса для того файла, который вы выложили в начале темы, к тому времени вы скорее всего внесли изменения в свой файл и уже в него вносили мои макросы. Вероятно к тому времени у вас процедура ShowForm либо была удалена, либо как-то ещё изменилась.

Я ещё раз специально проверил, всё работает.
Вот список моих действий:

1. Снова скачал ваш файл, приведеный в начале темы.
2. В коде убрал строчку Option Explicit
3. Заменил макросы PopupMenuCreate() и PopupMenuDelete() на те, что писал выше.
4. В референсах включил библиотеку оффиса.
5. Сохранил файл, закрыл, открыл, меню появилось, всё работает.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / А все таки! Как добавить свой пункт в контекстное меню?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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