Salut à tous,
Mon application génère une lettre à partir d'un modele à entete (fichier .ott) ainsi qu'un fichier CSV contenant les adresses des correspondants. Comme le CSV est différent pour chaque lettre, les champs de fusion de ma lettre ne pointent pas vers le bon CSV. Openoffice v1 n'en tenait pas compte (il prennait juste en compte le nom de la colonne) mais depuis la version 2 il en tient compte !!! Je ne peux pas utiliser le meme fichier CSV pour chaqu'un pour un probleme d'archivage et d'environnement multi utilisateur.
Il me faut donc changer le datasource des champs de fusion.
Andrew Pitonyack propose de parser les différents champs du texte et à chaque champs de fusion de modifier les propriétés du datasource. Mais son code utilise une propriété DATABASEFORMAT qui génère une exception selon les champs qu'il trouve. Ci dessous le code qu'il avait proposé sur OOOForums.org :
http://www.oooforum.org/forum/viewtopic.phtml?t=23345&highlight=text+field

Sub EnumerateDataBaseTextFields
Dim oEnum
Dim oField
Dim oMaster
Dim s$

oEnum = ThisComponent.getTextFields().createEnumeration()
Do While oEnum.hasMoreElements()
  oField = oEnum.nextElement()
  If (oField.DataBaseFormat) Then
    oMaster = oField.getTextFieldMaster()
    s = "DB Name = " & oMaster.DataBaseName & CHR$(10) & _
        "Col Name = " & oMaster.DataColumnName & CHR$(10) & _
        "Table = " & oMaster.DataTableName
    MsgBox s, 0, oMaster.InstanceName
  End if
Loop
End Sub

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à