Bonjour,
Je suis sous Windows 10 Famille version 22H2 et ma version de Libre Office est la Version: 7.3.4.2 (x64) / LibreOffice Community
Build ID: 728fec16bd5f605073805c3c9e7c4212a0120dc5
CPU threads: 12; OS: Windows 10.0 Build 19045; UI render: Skia/Vulkan; VCL: win
Locale: fr-FR (fr_FR); UI: fr-FR
Calc: CL
Après avoir créé une macro (qui met en forme du texte tout simplement), je l’ai enregistré sous Mes macros/Standard/Module1/Test…
Si je lance cette macro via Outils/Macros/Exécuter une macro, tout se passe nickel autant de fois que je lance la macro, parfait…
Maintenant, je viens de créer un bouton via Affichage/Barre d’outils/Contrôles de formulaire/Bouton en mode “Conception” puis en faisant clic droit sur ce bouton Propriétés du contrôle/Evénements/ j’ai assigné l’action Standard.Module1.Test à Exécuter l’action puis retiré le mode “Conception”…et là, quand je clique sur le bouton, et bien la macro ne s’exécute qu’à moitié, et encore, seule la première instruction est exécutée, le charfontname ???
Merci à vous
Olivier
REM ***** BASIC *****
sub Test
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(4) as new com.sun.star.beans.PropertyValue
args1(0).Name = "CharFontName.StyleName"
args1(0).Value = ""
args1(1).Name = "CharFontName.Pitch"
args1(1).Value = 2
args1(2).Name = "CharFontName.CharSet"
args1(2).Value = 0
args1(3).Name = "CharFontName.Family"
args1(3).Value = 5
args1(4).Name = "CharFontName.FamilyName"
args1(4).Value = "Arial"
dispatcher.executeDispatch(document, ".uno:CharFontName", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "FontHeight.Height"
args2(0).Value = 16
args2(1).Name = "FontHeight.Prop"
args2(1).Value = 100
args2(2).Name = "FontHeight.Diff"
args2(2).Value = 0
dispatcher.executeDispatch(document, ".uno:FontHeight", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Bold"
args3(0).Value = true
dispatcher.executeDispatch(document, ".uno:Bold", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Italic"
args4(0).Value = true
dispatcher.executeDispatch(document, ".uno:Italic", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Color"
args5(0).Value = 16777215
dispatcher.executeDispatch(document, ".uno:Color", "", 0, args5())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "BackgroundColor"
args6(0).Value = 2777241
dispatcher.executeDispatch(document, ".uno:BackgroundColor", "", 0, args6())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "HorizontalAlignment"
args7(0).Value = com.sun.star.table.CellHoriJustify.CENTER
dispatcher.executeDispatch(document, ".uno:HorizontalAlignment", "", 0, args7())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "VerticalAlignment"
args8(0).Value = 2
dispatcher.executeDispatch(document, ".uno:VerticalAlignment", "", 0, args8())
end sub