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

Bonjour,

(juste un commentaire)

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,

Merci Jean François

Bonjour,

(juste un commentaire)

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

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,