Bonjour, Jean-François,
Une fois encore, merci !
Même si j'avais bien fait l'insertion, tu m'as quand même mis sur la
voie.
Pour ceux qui sont intéressés, sous libreoffice 7.0-Debian 10 :
-> les types png, bmp et jpg sont acceptés sans pb.
-> en revanche, il n'y a pas récupération automatique du chemin courant
du doc courant, donc, pour l'image, il faut indiquer le chemin complet
(c'est ce qui m'a mis sur la voie, dans le code de Jean-François).
-> l'ordre des opérations a évidemment de l'importance (cf code de
Jean-François).
Cordialement,
O.J.
Le lundi 24 août 2020 à 09:36 +0200, jean-francois a écrit :
Bonjour oj,
tu y étais presque... Il manquait l'insertion de la section créée
dans
le texte ;)
Code testé fonctionnel (remplacer l'adresse de l'image par qqch
d'utile) :
8< ----------------------------------------------------------
Option Explicit
Sub Main
Dim lo_Doc As Object
Dim lo_Sec As Object
Dim lo_TCur As Object
lo_Doc = ThisComponent
lo_TCur = lo_Doc.Text.createTextCursor
lo_TCur.gotoEnd(False)
lo_Sec = CreateSectionAtCursor(ThisComponent, lo_TCur,
"MaSection",
"/home/jean-francois/Images/Debian.png")
End Sub 'Main
Function CreateSectionAtCursor(ByRef pDoc As Object, pCursor As
Object,
pSecName As String, pBGName As String) As Object
'creates a section within a given document.
'Input:
'-- pDoc: the target document.
'-- pCursor: the text cursor where to insert the section.
'-- pSecName: the section name.
'-- pBGName: the section background image file name (in URL or OS
form).
'Output: the created section object or Null if an error occurred.
Dim lo_Sec As Object
On Local Error Goto ErrHandler
lo_Sec = pDoc.createInstance("com.sun.star.text.TextSection")
lo_Sec.Name = pSecName
lo_Sec.backgraphicURL = ConvertToURL(pBGName)
pDoc.Text.insertTextContent(pCursor, lo_Sec, False)
ErrHandler:
'do nothing
CreateSectionAtCursor = lo_Sec
End Function 'CreateSectionAtCursor
---------------------------------------------------------- >8
Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la
liste
reçoive une copie de votre réponse.
Bien cordialement,
Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la
liste
reçoive une copie de votre réponse.
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.