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. 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: prog-unsubscr...@fr.openoffice.org > For additional commands, e-mail: prog-h...@fr.openoffice.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org