Диалогам посвящена глава 18 Книги А.Питоньяка
OOME_4_0.odt.
Для обхода элементов управления можно использовать следующую схему (см. также комментарии к макросу):
Sub TestControls
Dim oDoc, oDlgDesc, oDialog, oControl, s As String
oDoc=GlobalScope ' диалог в библиотеке приложения (My Macros)
' oDoc=ThisComponent ' диалог встроен в документ
oDlgDesc=oDoc.DialogLibraries.GetByName("Standard").GetByName("Dialog1")
oDialog=CreateUnoDialog(oDlgDesc)
For Each oControl In oDialog.Controls
' mri oControl ' можно исследовать элемент управления с помощью Mri
s=s & Chr(10) & oControl.Model.Name
Next oControl
Msgbox s,,"Dialog controls"
End Sub