[OpenOffice macro] publipostage avec un fichier txt externe

publipostage avec un fichier txt externe [OpenOffice macro] - Divers - Programmation

Marsh Posté le 05-09-2010 à 11:31:18    

Bonjour à tous !  :hello:  
 
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  :pt1cable:  
 
Pouvez-vous m'apporter votre aide ?  
 
Merci  :)

Reply

Marsh Posté le 05-09-2010 à 11:31:18   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed