writer macro

Buongiorno a tutti.
Ho realizzato diversi documenti con writer contenenti campi di controllo per formulari, circa una ventina per esportarli in pdf.
Vorreri cambiare il font di questi campi e vorrei farlo in maniera automatica.
ho provato a fare un codice del tipo:

document = ThisComponent.CurrentController.Frame

dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)

dim args1(0) as new com.sun.star.beans.PropertyValue

args1(0).Name = “ChangeFont”

args1(0).Value = “Times New Roman”

dispatcher.executeDispatch(document, “.uno:ChangeFont”, “”, 0, args1())

purtroppo sembra eseguito non ritornando alcun codice di errore (ma non saprei come saggiarlo) e termina l’esecuzione.
Dovrei fare anche un ciclo fra i vari campi di controllo ma nonostante le prove ed il codice che sembra eseguito, non riesco ottenere l’effetto voluto.

Qualcuno si e’ scontrato con tali problematiche e magari puo’ indicarmi una soluzione ?

Grazie a chiunque vorra’ rispondere

Una risposta mi e’ stata indicata dopo essermi collegato a:

Community Assistance | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft ed aver chattato sul sito IRC di help. Mi e’ stato indicato il sito di: CIB labs S.L.
Calle Arena 1, 5°
E-35002 Las Palmas de Gran Canaria
España
che debbo ringraziare pubblicamente
mi e’ stato postato gratuitamente (!!!) questa macro che mi pare funzioni egregiamente e che condivido:

thisDoc = thisComponent

'iterate over all shapes on DrawPage
for i = 0 to thisDoc.DrawPage.count - 1
theShape = thisDoc.DrawPage.getByIndex(i)
'control fields are just draw shapes of a special kind (ControlShape)
if theShape.supportsService(“com.sun.star.drawing.ControlShape”) then
theShape.CharFontName = “Utopia”
theShape.CharHeight = 11
end if
next

Spero che sia utile ad altri