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]

Répondre à