Como criar páginas dentro de uma caixa de diálogo no LibreOffice Calc?

Olá pessoal, estou querendo criar uma caixa diálogo via interface gráfica no LibreOffice Calc com mais de uma página, mas não consegui encontrar na internet. Alguém sabe se é possível e como eu faria isso? Estou anexando uma imagem pra facilitar o entendimento.

Você precisa usar a propriedade Step tanto na janela como nos controles que você deseja mostrar em cada página. O anexo é um exemplo.

Dim dialogo

Sub abrir_dialogo()
	dialogo = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
	dialogo.Execute()
End Sub


Sub cambiar_pagina(event)
	dialogo.Model.Step = event.Source.Value
End Sub

Peek 2024-03-31 16-17
multi_page.ods (12.0 KB)

Estou usando a biblioteca ScriptForge com Python não tenho muita experiência com programação tentei fazer isso mas não funcionou

def interface():
from scriptforge import CreateScriptService
Bas = CreateScriptService(“Basic”)
Ui = CreateScriptService(“UI”)
Doc = Ui.GetDocument(Bas.ThisComponent)
Janela = CreateScriptService(‘SFDialogs.Dialog’, Bas.ThisComponent, ‘Standard’, ‘Dialog1’)
Janela.Center(Doc)
Janela.Execute(Modal:=True)
Janela.Step = 2 (Pelo que entedi vc pega o valor do step e passa ele aqui por isso botei um número só pra testar)
Valor = Janela.Controls(‘FormattedField1’)
Bas.MsgBox(Valor.text)
Doc.dispose()

erro

Consegui encontrar a solução na documentação

def celula():
 from scriptforge import CreateScriptService
 Bas = CreateScriptService("Basic")
 Ui = CreateScriptService("UI")
 Doc = Ui.GetDocument(Bas.ThisComponent)
 Janela = CreateScriptService('SFDialogs.Dialog', Bas.ThisComponent, 'Standard', 'Dialog1')
 Janela.Center(Doc)
 Janela.SetPageManager(pilotcontrols = "", tabcontrols = "", wizardcontrols = "CommandButton3,CommandButton4", lastpage =3)
 Janela.Execute(modal=True)
 Valor = Janela.Controls('FormattedField1')
 Bas.MsgBox(Valor.text)
 Doc.dispose()

Peek 01-04-2024 21-43