mauvaise transcription des champs du passage fichier Odt vers Doc

classic Classic list List threaded Threaded
4 messages Options
linux-2 linux-2
Reply | Threaded
Open this post in threaded view
|

mauvaise transcription des champs du passage fichier Odt vers Doc

J'ai un problème quand je transcrit mon fichier odt en .docx j'ai mis un
petit exemple car le fichier original et confidentiel

Fichier test.odt

05/03/18 Champs Date

test1 champ d’utilisateur

1546,32 définir une variable


Devient

Fichier test.docx

05/03/18 Champs Date

Champ d'utilisateur Utilisateur = test1 champ d’utilisateur

Définir une variable Variable = 1546,321 définir une variable

que le fichier soit ouvert avec Writer ou Words

Le contexte j'ai un fichier odt dans lequel par macro je renseigne des
champs utilisateur (les autres types de champ à ma connaissance ne
peuvent pas être mise à jour par macro).

je suis obligé de transférer à mes collègues une version Word à mon
grand désespoir!!!, je ne travaille que sur une version odt que je
transforme en une copie docx je ne fais jamais d'aller retour entre odt
et docx.

J'aimerai ne pas perdre le temps que je gagne à automatiser la
construction de mon odt à retoucher le docx.

Merci de me dire si c'est un Bug ou une configuration mal comprise.


Jean Luc

Configuration:

Windows 10

Libreoffice 6.0.2.1


--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Jean-Francois Nifenecker Jean-Francois Nifenecker
Reply | Threaded
Open this post in threaded view
|

Re: mauvaise transcription des champs du passage fichier Odt vers Doc

Bonjour,

(juste un commentaire)

Le 05/03/2018 à 14:34, linux a écrit :
>
> Le contexte j'ai un fichier odt dans lequel par macro je renseigne des
> champs utilisateur (les autres types de champ à ma connaissance ne
> peuvent pas être mise à jour par macro).

les champs personnalisés (Fichier > Propriétés, onglet Propriétés
personnalisées peuvent être gérés macrobiotiquement.

Pour les variables c'est possible aussi mais assez sioux apparemment
(jamais fait ici car pas le besoin).


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 à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
linux-2 linux-2
Reply | Threaded
Open this post in threaded view
|

Re: mauvaise transcription des champs du passage fichier Odt vers Doc

Merci Jean François


Le 05/03/2018 à 17:59, Jean-Francois Nifenecker a écrit :

> Bonjour,
>
> (juste un commentaire)
>
> Le 05/03/2018 à 14:34, linux a écrit :
>>
>> Le contexte j'ai un fichier odt dans lequel par macro je renseigne des
>> champs utilisateur (les autres types de champ à ma connaissance ne
>> peuvent pas être mise à jour par macro).
>
> les champs personnalisés (Fichier > Propriétés, onglet Propriétés
> personnalisées peuvent être gérés macrobiotiquement.
Ok j'ai bien créer une propriété un complément je n'ai pas trouvé tout
de suite  on l'insert dans un texte par Insertion > Champ>Autres Champs
 >Info Document>Personnaliser
Par contre coté macro je sèches un peu
Exemple que j'utilise pour les champs d'utilisateurs

         oLesChampsUtilisateurCDLO = oDocumentOffreCDLO.TextFieldMasters
         oLeChampUtilisateurSelectionerCDLO =
oLesChampsUtilisateurCDLO.getByName("com.sun.star.text.FieldMaster.User.NomClient")
         oLeChampUtilisateurSelectionerCDLO.Content =
InformationsOffreCDLO(1,0) 'nom du client
                     ......................................
          oDocumentOffreCDLO.TextFields.refresh()


>
>
> Pour les variables c'est possible aussi mais assez sioux apparemment
> (jamais fait ici car pas le besoin).
J'ai essaye mais pas réussi
>
>
> 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,


--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Jean-Francois Nifenecker Jean-Francois Nifenecker
Reply | Threaded
Open this post in threaded view
|

Re: mauvaise transcription des champs du passage fichier Odt vers Doc

Le 05/03/2018 à 19:36, linux a écrit :

>>
>> les champs personnalisés (Fichier > Propriétés, onglet Propriétés
>> personnalisées peuvent être gérés macrobiotiquement.
> Ok j'ai bien créer une propriété un complément je n'ai pas trouvé tout
> de suite  on l'insert dans un texte par Insertion > Champ>Autres Champs
>>Info Document>Personnaliser
> Par contre coté macro je sèches un peu
> Exemple que j'utilise pour les champs d'utilisateurs
>
>         oLesChampsUtilisateurCDLO = oDocumentOffreCDLO.TextFieldMasters
>         oLeChampUtilisateurSelectionerCDLO =
> oLesChampsUtilisateurCDLO.getByName("com.sun.star.text.FieldMaster.User.NomClient")
>
>         oLeChampUtilisateurSelectionerCDLO.Content =
> InformationsOffreCDLO(1,0) 'nom du client
>                     ......................................
>          oDocumentOffreCDLO.TextFields.refresh()

Pour les champs personnalisés (custom fields) :

Dim oCustomFields As Object

oCustomFields = ThisComponent.DocumentProperties.UserDefinedProperties

'chercher une propriété
If oCustomFields.PropertySetInfo.hasPropertyByName("NomCustom") Then
        'lire la valeur
        Valeur = oCustomFields.getPropertyValue("NomCustom")
        'modifier la valeur
        oCustomFields.setPropertyValue("NomCustom", "Nouvelle valeur")
End If

'créer une propriété texte
oCustomFields.addProperty("CustomString",
com.sun.star.beans.PropertyAttribute.REMOVEABLE, "contenu de la propriété")

'créer une propriété numérique
oCustomFields.addProperty("CustomNumber", _
com.sun.star.beans.PropertyAttribute.REMOVEABLE, _
CreateUnoValue("double", 0))


(etc. - voir pages 265 sqq de la bible "Programmation OpenOffice.org et
LibreOffice" chez Eyrolles - hautement conseillé)


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 à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés