LO 7.6.1 : Macro pour modifier epaisseur bordure rectangle dans ReportBuilder

Bonjour,
Il y a quelques temps (excusez moi je ne me rappelle pas vraiment) je pouvais exécuter le code ci-dessous trouvez sur le net pour modifier l’épaisseur de la bordure d’une forme rectangle dans ReportBuider.

Sub Report_Shape_Modify
'Eventually launch Xray
	With GlobalScope.BasicLibraries
		If .hasByName("XrayTool") Then 
			.loadLibrary("XrayTool")
		End If 
	End With 

Dim oDoc As  Object 
Dim oEnum As Object 
Dim oElem As Object 
	ThisDataBaseDocument.CurrentController.connect()
	oDoc = ThisDataBaseDocument.ReportDocuments.getByName("monReport")
	oEnum = oDoc.Component.Groups.getByIndex(0).Footer.createEnumeration
	While oEnum.hasMoreElements
		oElem = oEnum.nextelement
			If oElem.Name = "Forme" Then
			 With oElem
				.FillColor = clng("&HFFFF00")
				.LineColor = RGB(0,255,0)
				.LineWidth = 10
				End With 
	     Endif
	Wend
oDoc.store
End Sub 

Ça ne marche plus :roll_eyes:, J’obtiens une erreur “Variable d’objet non définie” ce qui est normal puisque xray m’indique que la propriété oDoc.Component est nulle.
Il faut faire oDoc.open pour avoir accès au Component, ce qui n’était pas le cas précédemment ou bien j’ai révé ou bien j’oublie quelque chose dans le code.
Problème c’est que si on ouvre (oDoc.open) le report, on ne peut plus enregistrer la modification (oDoc.store)
Merci à ceux qui voudrons bien se pencher sur cette question.
PS : En testant en 7.6.1 je viens de m’apercevoir que report builder enregistrait plus le changement de nom d’une forme (bon ça c’est un autre problème, je verrai avec bugzilla)

Bon je galère pas mal car un coup ça marche, un coup ça marche pas et je n’arrive pas à trouver l’explication, j’ai l’impression qu’il y a quelque part un paramètre qui bouge, mais lequel et comment ?
J’ai essayé plusieurs versions, en reconfigurant mon profil etc, etc …
Quand ça marche , c’est à dire sans faire le oDoc.open, j’obtiens quand même une erreur pour le oDoc.store
Capture d’écran du 2023-09-22 16-49-42
pour moi c’est du charabia, mais voila impossible de sélectionner l’erreur et de voir sur le net à quoi ça correspond. Impossible de trouver quelque part la liste des erreurs.

Finalement je crois avoir trouvé une solution.
Il faut préalablement avoir “édité” et sauvegardé le rapport.
Puis on peut lancer la macro, qui fait bien le job sans erreur.
Voilà, mais pourquoi ?
Je pense que le fait d’éditer le rapport, modifie son “état”/"statut dans la base et permet de dérouler la macro sans problème en donnant accès à la propriété Component du rapport. Malheureusement ce “statut/état” n’apparaît pas dans xRay (ou je ne sais pas m’y prendre).
J’aimerai bien l’avis de quelqu’un… @PYS , @valioud , @Ratslinger . ou autres… Merci à vous