Bonjour,
En fait il manque la définition de l'objet à insérer :
dim oImageFooter
oImageFooter =
thisComponent.createInstance("com.sun.star.text.GraphicObject")
With oImageFooter
.GraphicURL = monImage.GraphicURL
.AnchorType = com.sun.star.text.TextContentAnchorType.AS_CHARACTER
.width = monImage.getSize.Width
.height = monImage.getSize.Height
End With
'xray monImage
'xray CurseurPiedPage
'xray TextePiedPage
TextePiedPage.insertTextContent(CurseurPiedPage, oImageFooter, false)
Francois Gatto
Rémi B a écrit :
> Le Thu, 03 Sep 2009 22:53:03 +0200, Francois Gatto a écrit :
>
>> Bonsoir,
>>
>> A priori le code semble correct.
>>
>> As-tu correctement nommé ton logo ?!
>>
>> Peut être vérifier également pour certains composants au moyen de xray
>> leur existence et/ou leur contenu.
>
> xray monImage me renvoit bien les propriétés (avec le nom correct)
>
> On dirait que cela vient de :
> TextePiedPage.insertTextContent(CurseurPiedPage, monImage, false)
>
> Merci.
> Rémi.
>
>> Francois Gatto
>>
>> Rémi B a écrit :
>>> Bonjour,
>>>
>>> Dans un document Writer, j'ai déjà une image insérée (logo).
>>>
>>> Par macro Basic, je souhaite récupérer son URL interne afin de
>>> l'insérer dans le pied de page du document. Une sorte de copier/coller
>>>
>>> J'utilise le code suivant (très largement basé sur Marcelly/Godard,
>>> programmation OOo) :
>>>
>>> '========================================================= Function
>>> FindObjectByName(unePage As Object, _
>>> nomObj As String, Optional service As String) As Object
>>> 'Marcelly, Godard, annexe B
>>> Dim objX As Object, x As Long
>>> For x = 0 To unePage.Count - 1
>>> objX = unePage(x)
>>> If objX.Name = nomObj Then
>>> if IsMissing(service) then
>>> FindObjectByName = objX ' objet trouvé Exit Function
>>> else
>>> if objX.supportsService(service) then
>>> FindObjectByName = objX ' objet trouvé Exit Function
>>> end if
>>> end if
>>> EndIf
>>> Next
>>> End Function ' renvoie Null en cas d'échec
>>>
>>>
>>> Sub InsererLogo()
>>> 'D'après Marcelly, Godard, page 297
>>>
>>> LeDoc = thisComponent
>>> LeTexte = LeDoc.Text
>>>
>>> 'Un curseur pour analyser les styles
>>> monCurseur = LeTexte.createTextCursor 'On récupère le nom du style de
>>> la page en cours nomStyleMaPage = monCurseur.PageStyleName 'on récupère
>>> l'ensemble des styles de pages possibles lesStylesPage =
>>> LeDoc.StyleFamilies.getByName("PageStyles") 'on récupère le style de la
>>> page en cours StyleMaPage = lesStylesPage.getByName(nomStyleMaPage)
>>> With StyleMaPage
>>> .FooterIsOn = true 'on active le pied de page .FooterHeight = 500 'en
>>> centaines de mm TextePiedPage = .FooterText 'zone de texte du pied de
>>> page
>>> End With
>>> CurseurPiedPage = TextePiedPage.createTextCursor 'On aligne à droite
>>> CurseurPiedPage.ParaAdjust = com.sun.star.style.ParagraphAdjust.RIGHT
>>> 'On insère le texte
>>> 'TextePiedPage.insertString(CurseurPiedPage, "Texte inséré en pied de
>>> page, false)
>>>
>>> 'Insertion d'une image déjà insérée ailleurs dans le document maPage =
>>> LeDoc.DrawPage
>>> 'L'image doit être préalablement nommée dans OOo monImage =
>>> FindObjectByName(maPage,"logo")
>>>
>>> TextePiedPage.insertTextContent(CurseurPiedPage, monImage, false)
>>>
>>> End Sub
>>> '=========================================================
>>>
>>> Le texte s'insère bien en pied de page mais pas l'image. J'ai une
>>> runtime error sur la dernière ligne. Comment pourrais-je faire ?
>>> Merci.
>>> Rémi.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected] For
>>> additional commands, e-mail: [email protected]
>>>
>>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]