Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-25 Par sujet Jean-Michel COSTE


Le 25/08/2020 à 13:09, Patrick a écrit :
N'y a-t-il pas la possibilité de récupérer l'URL du document et donc 
du dossier contenant le document et ainsi de construire le chemin 
complet d'une image en l'accolant au chemin du document ?
Cela permettrait de pouvoir transmettre le document (et son dossier) à 
quelqu'un d'autre et ne pas avoir le chemin absolu qui dépend de ton 
installation.


Bien sûr,

On récupère l'url du document en cours avec ThisComponent.url. On 
obtient un truc du genre :


URLfichier = ThisComponent.url

On obtient un truc du genre :

file:///I:/TrvOpen/Projets/D%C3%A9pannages/JP/Document.odt (au format 
url, quel que soit le système)


le dossier uniquement avec :

URLdossier = Tools.Strings.DirectoryNameoutofPath(ThisComponent.url, "/")

La bibliothèque Tools fait partie des macros de LibreOffice.

Bonne soirée

--
Jean-Michel Coste


--
Envoyez un mail à users+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-25 Par sujet oj
Le mardi 25 août 2020 à 13:09 +0200, Patrick a écrit :
> Bonjour,
> 
> 
> Le 25/08/2020 à 11:44, Jean-Michel COSTE a écrit :
> > Il vaut mieux (ou bien il faut absolument ?), dans tous les cas, 
> > préciser le chemin complet, puisqu’un document n'est connu (au
> > niveau 
> > de LibO) que par son URL.
> 
> N'y a-t-il pas la possibilité de récupérer l'URL du document et donc
> du 
> dossier contenant le document et ainsi de construire le chemin
> complet 
> d'une image en l'accolant au chemin du document ?
> Cela permettrait de pouvoir transmettre le document (et son dossier)
> à 
> quelqu'un d'autre et ne pas avoir le chemin absolu qui dépend de ton 
> installation.
> 
> Cordialement,
> Patrick
> 
Si, bien sûr (c'est ce que je fais pour l'instruction /i). Mais ici,
pour un fond de section, je ne suis pas sûr que ce soit judicieux.
Cordialement,
O.J.


-- 
Envoyez un mail à users+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-25 Par sujet Patrick

Bonjour,


Le 25/08/2020 à 11:44, Jean-Michel COSTE a écrit :


Il vaut mieux (ou bien il faut absolument ?), dans tous les cas, 
préciser le chemin complet, puisqu’un document n'est connu (au niveau 
de LibO) que par son URL.


N'y a-t-il pas la possibilité de récupérer l'URL du document et donc du 
dossier contenant le document et ainsi de construire le chemin complet 
d'une image en l'accolant au chemin du document ?
Cela permettrait de pouvoir transmettre le document (et son dossier) à 
quelqu'un d'autre et ne pas avoir le chemin absolu qui dépend de ton 
installation.


Cordialement,
Patrick

--
Envoyez un mail à users+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-25 Par sujet oj
Le mardi 25 août 2020 à 11:44 +0200, Jean-Michel COSTE a écrit :
> Le 25/08/2020 à 07:55, oj a écrit :
> > 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).
> 
> Bonjour,
> 
> Il vaut mieux (ou bien il faut absolument ?), dans tous les cas, 
> préciser le chemin complet, puisqu’un document n'est connu (au niveau
> de 
> LibO) que par son URL.
> 
> Cordialement,
> 
> > -- 
> > Jean-Michel COSTE
Bonjour,
En fait, j'ai besoin de tout ça pour mettre des commandes au point pour
mon extension DocAlea (n'essayez pas de télécharger la version actuelle
: elle est trop buggée).
Par exemple, j'ai fait une commande "/i{nom du document à insérer}" qui
permet d'insérer un doc dans un autre. Et là, il est plus pratique pour
l'utilisateur que le dit doc soit dans le même répertoire que le doc
maitre, et qu'il n'ai pas à le préciser dans la commande.
De même, j'avais besoin de cet outil section parce que je voulais créer
une commande "/sec{nb de ligne; nom du doc de fond}" pour pouvoir
inséer des espaces d'écriture automatiquement dans un doc maitre.
En tout cas, merci à cette liste, pour ses aides rapides et
systématques, même dans les macros, qui sont pourtant un domaine plus
difficile à appréhender, je pense. Et un merci spécial à Jean-François, 
qui prend toujours le temps de répondre, et toujours de façon
pertinente.
Cordialement,
O.J.


-- 
Envoyez un mail à users+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-25 Par sujet Jean-Michel COSTE

Le 25/08/2020 à 07:55, oj a écrit :

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


Bonjour,

Il vaut mieux (ou bien il faut absolument ?), dans tous les cas, 
préciser le chemin complet, puisqu’un document n'est connu (au niveau de 
LibO) que par son URL.


Cordialement,


--
Jean-Michel COSTE


--
Envoyez un mail à users+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-24 Par sujet oj
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+unsubscr...@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


Re: [Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-24 Par sujet jean-francois

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+unsubscr...@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


[Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-23 Par sujet oj
 Message transféré 
De: oj 
À: jeanmichel.co...@free.fr
Objet: Re: [fr-users] macro : bitmap d'une section
Date: Sun, 23 Aug 2020 10:28:17 +0200

Bonjour,

c'était une erreur de recopie (pour simplifier la macro utilisée, qui
contient d'autres paramètres).

Le code est le suivant (ch contient l'image, et est dans le même
répertoire que le document) :

function section3(dc,cs) 

Dim sec as object
Dim ch as string

 ch="lignecahier.jpg"
 sec=dc.createInstance("com.sun.star.text.TextSection")
 sec.backgraphicURL=ConvertToURL(ch)
 
End function

Pour l'instant, l'image en question n'apparait pas en fond pour la
section.

Cordialement,
O.J.


Le dimanche 23 août 2020 à 10:18 +0200, jeanmichel.co...@free.fr a
écrit :
> Pourquoi cette variable (masection) ne semble-t-elle pas affectée ?
> Avec option explicit on verrait tout de suite l'erreur ( s'il y en a
> une...)
> Cdt
> 
> Jean-Michel Coste
> 
> Le 23 août 2020 09:26, oj  a écrit :
> > Le dimanche 23 août 2020 à 09:01 +0200, Jean-Luc a écrit :
> > > Bonjour
> > > Pourquoi 2 variables sec  et masection ?
> > > 
> > > Utiliser la même me semblerait plus judicieux.
> > Bonjour,
> > Oui, une erreur en voulant simplifier le code initial, pour la
> > liste.
> > C'était bien le même nom dans ma macro.
> > Cordialement,
> > O.J.
> > > Bonne journée
> > > 
> > > Le dim. 23 août 2020 à 08:53, oj  a écrit :
> > > > Bonjour à tous.
> > > > 
> > > > 
> > > > Je cherche, par macro, à :
> > > > - créer une section (ça, j'y arrive).
> > > > - y mettre un fond bitmap de mon crû (ça, je n'y arrive pas).
> > > > 
> > > > Voilà ma macro actuelle (simplifiée - ch contient l'image, et
> > est
> > > > dans
> > > > le même répertoire que le document) :
> > > > 
> > > > function section3(dc,cs) 
> > > > 
> > > > Dim sec as object
> > > > Dim ch as string
> > > > 
> > > > ch="lignecahier.jpg"
> > > > sec=dc.createInstance("com.sun.star.text.TextSection")
> > > > sec.backgraphicURL=ConvertToURL(ch)
> > > > 
> > > > End function
> > > > 
> > > > Quelqu'un a-t-il une idée, ou un exemple qui me permettrait
> > > > d'avancer ?
> > > > J'ai chercher sur internet sans trouver.
> > > > 
> > > > Merci d'avance.
> > > > 
> > > > Cordialement,
> > > > O.J.
> > > > 
> > > > 
> > > > -- 
> > > > Envoyez un mail à users+unsubscr...@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
> > -- 
> > Envoyez un mail à users+unsubscr...@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


-- 
Envoyez un mail à users+unsubscr...@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


[Fwd: Re: [fr-users] macro : bitmap d'une section]

2020-08-23 Par sujet oj


Bonjour,

c'était une erreur de recopie (pour simplifier la macro utilisée, qui
contient d'autres paramètres).

Le code est le suivant (ch contient l'image, et est dans le même
répertoire que le document) :

function section3(dc,cs) 

Dim sec as object
Dim ch as string

 ch="lignecahier.jpg"
 sec=dc.createInstance("com.sun.star.text.TextSection")
 sec.backgraphicURL=ConvertToURL(ch)
 
End function

Pour l'instant, l'image en question n'apparait pas en fond pour la
section.

Cordialement,
O.J.


Le dimanche 23 août 2020 à 10:18 +0200, jeanmichel.co...@free.fr a
écrit :
> Pourquoi cette variable (masection) ne semble-t-elle pas affectée ?
> Avec option explicit on verrait tout de suite l'erreur ( s'il y en a
> une...)
> Cdt
> 
> Jean-Michel Coste
> 
> Le 23 août 2020 09:26, oj  a écrit :
> > Le dimanche 23 août 2020 à 09:01 +0200, Jean-Luc a écrit :
> > > Bonjour
> > > Pourquoi 2 variables sec  et masection ?
> > > 
> > > Utiliser la même me semblerait plus judicieux.
> > Bonjour,
> > Oui, une erreur en voulant simplifier le code initial, pour la
> > liste.
> > C'était bien le même nom dans ma macro.
> > Cordialement,
> > O.J.
> > > 
> > > Bonne journée
> > > 
> > > Le dim. 23 août 2020 à 08:53, oj  a écrit :
> > > > Bonjour à tous.
> > > > 
> > > > 
> > > > Je cherche, par macro, à :
> > > > - créer une section (ça, j'y arrive).
> > > > - y mettre un fond bitmap de mon crû (ça, je n'y arrive pas).
> > > > 
> > > > Voilà ma macro actuelle (simplifiée - ch contient l'image, et
> > est
> > > > dans
> > > > le même répertoire que le document) :
> > > > 
> > > > function section3(dc,cs) 
> > > > 
> > > > Dim sec as object
> > > > Dim ch as string
> > > > 
> > > > ch="lignecahier.jpg"
> > > > sec=dc.createInstance("com.sun.star.text.TextSection")
> > > > sec.backgraphicURL=ConvertToURL(ch)
> > > > 
> > > > End function
> > > > 
> > > > Quelqu'un a-t-il une idée, ou un exemple qui me permettrait
> > > > d'avancer ?
> > > > J'ai chercher sur internet sans trouver.
> > > > 
> > > > Merci d'avance.
> > > > 
> > > > Cordialement,
> > > > O.J.
> > > > 
> > > > 
> > > > -- 
> > > > Envoyez un mail à users+unsubscr...@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
> > > 
> > > 
> > -- 
> > Envoyez un mail à users+unsubscr...@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
> 
> 

-- 
Envoyez un mail à users+unsubscr...@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


Fwd: Re: [fr-users] macro

2018-11-11 Par sujet Gilles Massardier




 Message transféré 
Sujet : Re: [fr-users] macro
Date :  Sun, 11 Nov 2018 18:52:32 +0100
De :sandy andriant 
Pour :  Gilles Massardier 



J'ai essayé de créer une macro semblable.
Ça ne fonctionne effectivement pas si on n'a pas d'abord fermé le doc 
qui a servi à la créer.


Par contre l'exécution de votre code  me donne bien une obèle rouge-gras.

Cordialement
Sandy-Pascal Andriant

Le 11/11/2018 à 18:30, Gilles Massardier a écrit :
cela me semble une bonne raison, par contre comment faire pour que le 
caractère spéciale soit sélectionné??? Je n'y connais rien en 
programmation de macro (et je n'ai pas le loisir de m'y mettre 
malheureusement)...


Le 11/11/2018 à 18:26, Thierry Jeanneret a écrit :

Bonsoir,

A priori je dirais que lorsque vous mettez l'attribut Bold ou la 
couleur rien n'est sélectionné. Mais ce n'est qu'une hypothèse.


Thierry



Le dim. 11 nov. 2018 à 17:22, > a écrit :


    Bonjour

    Voici une nouvelle question envoyée à l'aide du formulaire de
    demande d'aide
    (http://fr.libreoffice.org/get-help/poser-une-question/).
    Si vous répondez, merci de penser à utiliser la fonction "répondre
    à tous" de votre logiciel de courrier électronique de façon que le
    demandeur reçoive une copie de votre réponse.


    Email:: gilles.massard...@net-c.com
    
    Sujet:: macro
    OS:: Linux
    Version:: 6.1.x
    Question:: J'ai enregistré une macro :
    insertion d'un caractère spécial puis mise en gras et mise en
    couleur... mais quand j'exécute la macro, l'insertion du caractère
    se fait mais pas la mise en forme. Pourtant dans la macro
    l'ensemble des demandes est enregistré...

    voici la macro en question...

    sub Main
    rem
--
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem
--
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    rem
--
    dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "Text"
    args1(0).Value = " "

    dispatcher.executeDispatch(document, ".uno:InsertText", "", 0,
    args1())

    rem
--
    dim args2(1) as new com.sun.star.beans.PropertyValue
    args2(0).Name = "Symbols"
    args2(0).Value = "†"
    args2(1).Name = "FontName"
    args2(1).Value = "Liberation Serif"

    dispatcher.executeDispatch(document, ".uno:InsertSymbol", "", 0,
    args2())

    rem
--
    rem dispatcher.executeDispatch(document, ".uno:InsertSymbol", "",
    0, Array())

    rem
--
    dim args4(0) as new com.sun.star.beans.PropertyValue
    args4(0).Name = "Bold"
    args4(0).Value = true

    dispatcher.executeDispatch(document, ".uno:Bold", "", 0, args4())

    rem
--
    dim args5(0) as new com.sun.star.beans.PropertyValue
    args5(0).Name = "Color"
    args5(0).Value = 255

    dispatcher.executeDispatch(document, ".uno:Color", "", 0, args5())


    end sub

    quelqu'un sait-il ou est le problème???

    merci

    Gilles


    --     Envoyez un mail à users+unsubscr...@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







--
Envoyez un mail à users+unsubscr...@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