[OpenOffice macro] publipostage avec un fichier txt externe
publipostage avec un fichier txt externe [OpenOffice macro] - Divers - Programmation
MarshPosté le 05-09-2010 à 11:31:18
Bonjour à tous !
je me casse la tête depuis ce matin sur ce problème : Je souhaite faire dans swriter un publipostage par le biais d'une macro (--> que la fusion se fasse à l'ouverture du fichier ou en lançant la macro, peu importe ). Ce publipostage se fait avec un fichier txt. Mon fichier s'appelle test.odt (contenant 2 champs de fusion "nom" et "prenom" ) et le fichier qui contient les informations à récupérer (faisant office de bdd) est le fichier test.txt (infos séparées par des points-virgules). Après avoir parcouru Google et tenté pas mal de codes, j'arrive à ça :
Sub Fusion Dim oMailMerge As Object oDoc = ThisComponent oDocSettings = oDoc.createInstance("com.sun.star.text.DocumentSettings" ) oMailMerge = CreateUnoService("com.sun.star.text.MailMerge" ) oMailMerge.DocumentURL = "file:///cusers/titi/desktop/test.odt" oMailMerge.DataSourceName = "file:///cusers/titi/desktop/test.txt" 'oMailMerge.CommandType = 0 oMailMerge.Command = "file:///cusers/titi/desktop/test.txt" 'oMailMerge.OutputType = 2 oMailMerge.execute(Array()) oConnection.dispose() oDoc.close(true) End Sub
Mais j'ai un message d'erreur à la ligne "oMailMerge.execute(Array())" en me disant "Une exception s'est produite Type com.sun.star.sdbc.SQLException" Impossible d'établir une connexion à la source de données externe : le pilote SDBC n'a pas pu être détecté pour l'URL spécifié..
J'ai vérifié dans Outils--> Options --> Java (pour la jre); cela semble bon.
En fait, cela me pose 2 questions : 1/ je souhaite faire la fusion avec un fichier txt, est-ce normal qu'il me parle de SQL ? 2/ je souhaite juste faire une macro OOO qui me fasse la fusion avec ce fichier txt, peut-être avez-vous un bout de code qui fasse cela qui traine quelque part
Marsh Posté le 05-09-2010 à 11:31:18
Bonjour à tous !
je me casse la tête depuis ce matin sur ce problème :
Je souhaite faire dans swriter un publipostage par le biais d'une macro (--> que la fusion se fasse à l'ouverture du fichier ou en lançant la macro, peu importe ). Ce publipostage se fait avec un fichier txt.
Mon fichier s'appelle test.odt (contenant 2 champs de fusion "nom" et "prenom" ) et le fichier qui contient les informations à récupérer (faisant office de bdd) est le fichier test.txt (infos séparées par des points-virgules).
Après avoir parcouru Google et tenté pas mal de codes, j'arrive à ça :
Sub Fusion
Dim oMailMerge As Object
oDoc = ThisComponent
oDocSettings = oDoc.createInstance("com.sun.star.text.DocumentSettings" )
oMailMerge = CreateUnoService("com.sun.star.text.MailMerge" )
oMailMerge.DocumentURL = "file:///cusers/titi/desktop/test.odt"
oMailMerge.DataSourceName = "file:///cusers/titi/desktop/test.txt"
'oMailMerge.CommandType = 0
oMailMerge.Command = "file:///cusers/titi/desktop/test.txt"
'oMailMerge.OutputType = 2
oMailMerge.execute(Array())
oConnection.dispose()
oDoc.close(true)
End Sub
Mais j'ai un message d'erreur à la ligne "oMailMerge.execute(Array())" en me disant "Une exception s'est produite Type com.sun.star.sdbc.SQLException" Impossible d'établir une connexion à la source de données externe : le pilote SDBC n'a pas pu être détecté pour l'URL spécifié..
J'ai vérifié dans Outils--> Options --> Java (pour la jre); cela semble bon.
En fait, cela me pose 2 questions :
1/ je souhaite faire la fusion avec un fichier txt, est-ce normal qu'il me parle de SQL ?
2/ je souhaite juste faire une macro OOO qui me fasse la fusion avec ce fichier txt, peut-être avez-vous un bout de code qui fasse cela qui traine quelque part
Pouvez-vous m'apporter votre aide ?
Merci