MABILLE Bruno SZSIC57-IML a écrit :
Lorsque j'utilise l'assistant mailing par Outils - Assistant mailing,
j'effectue correctement mon publipostage. Par contre si je veux
recommencer un publipostage, je dois d'abord quitter le démarrage rapide
puis relancer OOo sinon la macro plante lors de l'enregistrement de la
source de données. Après cette manipulation, il est impossible de
supprimer le fichier .ODB, un message de violation de partage s'affichant.
J'ai longtemps buté sur ce problème.
On peut créer une source de données sans enregistrer un .odb. Voici
quelques bout de codes qui pourraient aider:
=========================================================
'
' Créer une source de donnée à partir d'un fichier CVS
'
Function CreerSourceSurCSV(cheminCSV as String, _
decimalDel as String, champDel as String, ChaineDel as String, _
optional extension as string) as Variant
dim monDBContext As Object, uneInstance as Object
dim chemin as String
dim info(3) as New com.sun.star.beans.PropertyValue
if isMissing(extension) then extension = "csv"
CreerSourceSurCSV = null
monDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
chemin = ConvertToUrl(cheminCSV)
uneInstance = monDBContext.CreateInstance()
uneInstance.URL = "sdbc:flat:" & chemin
info(0).Name = "DecimalDelimiter"
info(0).Value = decimalDel
info(1).Name = "Extension"
info(1).Value = extension
info(2).Name = "FieldDelimiter"
info(2).Value = champDel
info(3).Name = "StringDelimiter"
info(3).Value = chaineDel
uneInstance.info() = info
CreerSourceSurCSV = uneInstance
end Function
'
' Se connecter à une source
' => renvoie une connexion
'
Function ConnecterSource(maSource as Object, _
optional login as String, optional passwd as String) as Variant
Dim monDbContext as Object
if isMissing(login) then login = ""
if isMissing(passwd) then passwd = ""
ConnecterSource = maSource.getConnection(login,passwd)
End Function
'
' Mettre fin à une connexion
'
sub FinConnexion(maConnexion as Object)
maConnexion.close
maConnexion.dispose
end Sub
================================================================
La source n'est créée qu'en mémoire. Tout s'effface quand l'application
se termine.
Au dernières nouvelles, il y a un petit souci de reconnaissance des
formats quand on mappe une source sur un CSV. Il vaut mieux convertir le
CSV en .ods en spécifiant les formats, puis créer la source sur le .ods.
Je peux fournir le code qui va bien pour ça, si tu veux.
Ph.
--
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]