Приветствую!
Есть большое количество xls файлов с внедренными макросами VBA и формой с кнопками, к которым VBA макросы были привязаны.
Макросы я переписал на StarBasic.
Однако менять их руками и пересохранять в ODS не очень хочется.
Нашел у Питоньяка как копировать библиотеку из макроса, вроде тут проблем не будет.
Но встал вопрос как назначать вызов макросов на нажатие кнопки из другого макроса.
Руками назначается без проблем, но хотелось бы меньше ручной работы.
Кнопки находятся элементарно, например так:
SheetsEnum = ThisComponent.Sheets.CreateEnumeration
Do While SheetsEnum.HasMoreElements()
oSheet = SheetsEnum.nextElement
FormsEnum = oSheet.DrawPage.Forms.CreateEnumeration
Do While FormsEnum.HasMoreElements()
oForm = FormsEnum.nextElement
ElemEnum = oForm.CreateEnumeration
Do While ElemEnum.HasMoreElements()
oElem = ElemEnum.NextElement
MsgBox oElem.Label, 0, oSheet.Name
Loop
Loop
Loop
Но вот как навесить на кнопки Event Listener я так и не разобрался.
Вроде как надо брать текущий контроллер:
CtlView = ThisComponent.CurrentController.GetControl(oElem)
И у него есть метод AddEventListener, как говорит MRI.
А вот как этот метод использовать, т.е. какую переменную ему подсовывать я так и не нашел.
Подскажите, pls, в каком направлении копать, если с примером кода, то вообще хорошо.
Заранее благодарен!