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 , 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)