этот достославный oEvent
Я в учебных целях всегда рассматриваю эти объекты детально и объявляю явно с этой целью:
Sub Document_OnLoad(oEvent As com.sun.star.document.DocumentEvent)
Sub cmdHelp_actionPerformed(oEvent As com.sun.star.awt.ActionEvent)
Sub cboTopics_textChanged(oEvent As com.sun.star.awt.TextEvent)
Причём, на листе электронной таблицы, в отличие от окна диалога, это событие спрятано глубже (в форме, а не в элементе управления):
oEvent.Source.ImplementationName = "com.sun.star.form.OButtonControl"
The events assigned to a form control object are not (as one would presume) contained within the control itself, but in the form object.
Обратите внимание на обращение к Parent, чтобы добраться до источника события и его имени.
См: oEvent.Source.Model.Parent.getScriptEvents(nIndex)(0)
com.sun.star.script.ScriptEventDescriptor: .EventMethod = "actionPerformed"
И если это событие "actionPerformed", то так и именую элемент управления (контрол), например:
Sub cmdHelp_actionPerformed(oEvent As com.sun.star.awt.ActionEvent)
Тогда всё всегда понятно. Для именования элементов управления использую венгерскую нотацию (выше "cmd" - Command (Push) Button; "txt" - Text (Edit) Field).
В общем, вы правильно "споткнулись", и вопрос закономерен: эта "область" требует некоторой стандартизации собственного кода (в плане выработки своего стиля). Должно быть понятно.
Другими словами, я сохранил свой стиль, родом из VBA. Здесь же можно делать по-всякому, в том числе и непонятно. То есть я связываю действие контрола точно с его именем события, а можно подцепить любой макрос с произвольным именем: и тогда лезьте в свойства и разбирайтесь, кто и что там вызывает... Дело вкуса.
Правда, иногда объявляем и так:
Sub Sheet_OnChange(
oTarget As Object) '<- ScCellObj, ScCellRangeObj, ScCellRangesObj
Потому что в событие передается произвольный объект. И здесь на форуме конкретно с этим событием мы уже разбирались предметно.
Разберитесь со всеми событиями, например:
'
Spreadsheet Document Events (28):' OnStartApp Start Application
' OnCloseApp Close Application
' OnCreate Document created
' OnNew New Document
' OnLoadFinished Document loading finished Документ загружен
' OnLoad Open Document
' OnPrepareUnload Document is going to be closed
' OnUnload Document closed
' OnSave Save Document
' OnSaveDone Document has been saved
' OnSaveFailed Saving of Document failed
' OnSaveAs Save Document As
' OnSaveAsDone Document has been saved as
' OnSaveAsFailed 'Save as' has failed
' OnCopyTo ?
' OnCopyToDone Document copy has been created
' OnCopyToFailed Creating of document copy failed
' OnFocus Activate Document Активизация документа
' OnUnfocus Deactivate Document
' OnPrint Print Document
' OnViewCreated View created Просмотр создан
' OnPrepareViewClosing View is going to be closed
' OnViewClosed View closed
' OnModifyChanged 'Modified' status was changed
' OnTitleChanged Document title changed
' OnVisAreaChanged ?
' OnModeChanged ?
' OnStorageChanged ?
' + Storing or exporting copy of document
'
Sheet Events (7):' OnFocus Activate Document Активизация документа
' OnUnfocus Deactivate Document Деактивизация документа
' OnSelect Selection changed Выделенная область изменена
' OnDoubleClick Double click Двойной щелчок
' OnRightClick Right click Щелчок правой кнопкой
' OnChange Content changed Содержимое изменено
' OnCalculate Formulas calculated Формулы вычислены
И т. д.