Страницы: 1
RSS
Как нажать кнопку(control As IRibbonControl) из надстройки?
 

Здравствуйте! Хочу нажать кнопку, которая расположена на ленточном интерфейсе макросом, но не получается.

Код из надстройки:

Код
Sub myButton(control As IRibbonControl)   
'хочу вызвать этот макрос
MsgBox "Вы нажали на кнопку!"
End Sub

Sub test(myText As String)   
MsgBox myText
End Sub

'Код из Ribbon панели:
<button id="ItemID" label="Моя кнопка" onAction="myButton" imageMso="AcceptTask" size="large" visible = "true"/>

Макрос тест могу вызвать так:

Код
Sub вызываюМакросТест()
Application.Run "НадстройкаМоя.xlam!Module1.test", "вы вызвали макрос test"
End Sub

Пытаюсь аналогичным способом вызвать макрос «myButton», но не получается. Не знаю, что передавать переменной control. Хочу это сделать, не меняя код из надстройки. Для полноты эксперимента надстройка защищена паролем. Пароль = 123.

Изменено: rud.666 - 07.03.2021 06:31:59 (Добавил файлы)
 
Код
Sub myButton(control As IRibbonControl)   
'хочу вызвать этот макрос
test "вы вызвали макрос test"
End Sub
 
Замените
Код
Sub myButton(control As IRibbonControl)

на
Код
Sub myButton(OPTIONAL control As IRibbonControl)


тогда макрос myButton можно будет вызывать без параметра
 
Игорь, спасибо, получилось! А без внесения изменений в надстройку, получается, это нельзя сделать?
 
Код
Application.Run "НадстройкаМоя.xlam!Module1.myButton", Nothing
 
ZVI, большое спасибо!
Страницы: 1
Наверх