Preciso recuperar uma variável global em um campo de relatório do Base no libreoffice. A variável global é atribuída através do evento Botão do mouse pressionado em um botão de pressão do form Menu, para fins de teste, depois será atribuída antes do relatório ser gerado. Abaixo a parte da macro que já fiz e que funciona:
REM ******** VARIÁVEIS GLOBAIS **********
Global CAMPO1 As String<br>
Global CAMPO2 As String <br>
Global CAMPO3 As String <br>
' ---------Instrução para obter o valor dos campos txt1, txt2 e txt3 do form Menu<br>
SUB pegaValor
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFildTxt1 AS OBJECT
DIM oFieldTxt2 AS OBJECT
DIM oFieldTxt3 AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.Forms.getByName("Formulário")
oFieldTxt1 = oForm.getByName("txt1")
oFieldTxt2 = oForm.getByName("txt2")
oFieldTxt3 = oForm.getByName("txt3")
CAMPO1 = oFieldTxt1.GetCurrentValue()
CAMPO2 = oFieldTxt2.GetCurrentValue()
CAMPO3 = oFieldTxt3.GetCurrentValue()
' Apenas para retorno, para ter certeza que as variáveis foram atribuídas
msgbox CAMPO1
msgbox CAMPO2
msgbox CAMPO3
END SUB
A variável fica disponível em toda a macro, Tenho um relatório onde necessito pegar o valor das variáveis globais em uma caixa de texto, porém não estou conseguindo, Já pesquisei e não encontrei nada parecido. Pensei em criar uma função definida pelo usuário, vi que pode ser criada para o Calc, mas não consegui criar no Base.
Poderiam me ajudar?