Справка LibreOffice 26.2
Ниже приведены примеры для нового диалогового окна с именем "Dialog1". Воспользуйтесь инструментами на Панели инструментов в редакторе диалоговых окон, чтобы создать диалоговое окно и добавить следующие элементы управления: Флажок с именем "CheckBox1", Подпись с именем "Label1", Кнопку с именем "CommandButton1" и Список с именем "ListBox1".
При добавлении элемента управления к переменной не забывайте о соответствии прописных и строчных букв.
Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)
Dim oLib as Object ' com.sun.star.script.XLibraryContainer
Dim oLibDialog as Object
Dim oRuntimeDialog as Object
If IsMissing(oLibContainer) Then
oLibContainer = DialogLibraries
End If
oLibContainer.LoadLibrary(LibName)
oLib = oLibContainer.GetByName(Libname)
oLibDialog = oLib.GetByName(DialogName)
oRuntimeDialog = CreateUnoDialog(oLibDialog)
LoadDialog() = oRuntimeDialog
End Function
Функция LoadDialog хранится в Tools.ModuleControls, доступном из области хранения «Макросы и диалоговые окна приложений».
REM глобальное определение переменных
Dim oDialog1 AS Object
Sub StartDialog1
With GlobalScope.BasicLibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.ModuleControls.LoadDialog("Standard", "Dialog1")
oDialog1.Execute()
End Sub
Sub Sample1
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
REM получение модели диалогового окна
oDialog1Model = oDialog1.Model
REM отображение текста Label1
oLabel1 = oDialog1.GetControl("Label1")
MsgBox oLabel1.Text
REM задание нового текста для элемента управления Label1
oLabel1.Text = "Создать файлы"
REM отображение свойств модели для элемента управления CheckBox1
oCheckBox1Model = oDialog1Model.CheckBox1
MsgBox oCheckBox1Model.Dbg_Properties
REM задание нового состояния для CheckBox1 для модели элемента управления
oCheckBox1Model.State = 1
REM отображение свойств модели для элемента управления CommandButton1
oCMD1Model = oDialog1Model.CommandButton1
MsgBox oCMD1Model.Dbg_Properties
REM отображение свойств элемента управления CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
MsgBox oCMD1.Dbg_Properties
REM выполнение диалогового окна
oDialog1.Execute()
End Sub
Sub AddEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
REM добавляет новый элемент в список
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
Dim iCount as integer
iCount = oListbox.ItemCount
oListbox.additem("New Item" & iCount,0)
End Sub
Sub RemoveEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
REM удаление первого элемента из списка
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
oListbox.removeitems(0,1)
End Sub