Bonjour,
Je suis en version 2.04 sous windows 2K et XP.
Le publipostage est utilisé par le service recrutement qui gère les
concours.
Pour chaque concours il y a 5 lettres types (convocation, échec)et il y a
une vingtaine de concours au total.
Le but est d'avoir le minimum de sources de données à gérer.

Merci pour l'info que je testerai.

Bruno

-----Message d'origine-----
De: Francois Gatto [mailto:[EMAIL PROTECTED]
Date: mercredi 7 mars 2007 04:59
À: prog@fr.openoffice.org
Objet: Re: [prog] Publipostage


Bonjour,

Quelle version d'OOo utilises-tu et sous quelle plateforme ?

Personnellement, sous XP OOo v2.1 je n'ai pas de problème.

J'ai testé ta macro et je n'y ai pas rencontré de difficulté ; j'ai 
juste supprimé la propriété "Overwrite" et l'ai remplacée par un simple 
dim propsODB().

Cela étant, quel est l'intérêt de tout celà ?

Est-ce un publipostage entièrement programmé ?

Enfin, si l'utilisateur ajoute/modifie des données dans la feuille, s'il 
sauvegarde le doc puis qu'il "rafraîchit" sa source par un F4 
(fermeture/ouverture) les modifications sont disponibles.

Peut-être n'ai-je pas bien compris le problème.

Francois

MABILLE Bruno SZSIC57-IML a écrit :
> Bonjour,
> Je bloque sur la création/suppression d'une source de donnée pour
> publipostage.
> La source est un classeur OpenOffice, et je désire pouvoir
valider/dévalider
> celle ci afin de modifier le classeur et ne pas être obligé de quitter le
> démarrage rapide d'OOo.
> La macro est en deux parties, la première crée la source de données et la
> seconde la supprime.
> La macro tombe en erreur systématiquement, à la ligne en gras, lors de la
> seconde création, malgré la suppression. Le fonctionnement correct est
> retrouvé en quittant le démarrage rapide d'OOo.
> 
> Voici les macros :
> 
> sub Creation_Source_De_Donnees()
> 
> ' Création de la base
>   oURL=ThisComponent.URL
>   oTabURL=split(oURL,"/")
>   oNomFichier=oTabURL(uBound(oTabURL))
>   oNomSource=mid(oNomFichier, 1, len(oNomFichier)-4) 
>   oNomBase1=mid(oURL, 1, len(oURL)-4)
>   oNomBase=oNomBase1 & ".ods"
> oDbContext=createUnoService("com.sun.star.sdb.DatabaseContext")
> oNewSource = createUnoService("com.sun.star.sdb.DataSource")
> ' Création du fichier ODB
> OdbURL=oNomBase1 & ".odb"
> propsODB(0).Name = "Overwrite"
> xray.xray propsODB(0)
> propsODB(0).value = True
> oNewSource.databaseDocument.StoreAsURL(OdbURL, propsODB())
> oNewSource.databaseDocument.store()
> oNewSource.databaseDocument.URL(OdbURL, props())
> ' Création de la source de données
> Reponse = oDbContext.hasByName(oNomSource)
> If Reponse then
>       MsgBox "La source de données " & oNomSource & " existe déjà, ajout
> impossible"
>       Else
>       oNewSource.URL = "sdbc:calc:" & oNomBase
>       oNewSource.databaseDocument.store()
>       oDbContext.RegisterObject(oNomSource, oNewSource)
>    msgbox "Source de Données " & oNomSource & " ( Calc ) créée."
> End If
> 
> end sub
> 
> 
> sub Delete_Source_De_Donnees()
> 
>       
>  oURL=ThisComponent.URL
>   oTabURL=split(oURL,"/")
>   oNomFichier=oTabURL(uBound(oTabURL))
>   oNomSource=mid(oNomFichier, 1, len(oNomFichier)-4) 
>   oNomBase1=mid(oURL, 1, len(oURL)-4)
>   oDBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
>   oNewSource = createUnoService("com.sun.star.sdb.DataSource")
>   OdbURL=oNomBase1 & ".odb"
>   oNewSource.databaseDocument.URL(OdbURL, props())
>   Reponse=oDbContext.hasByName(oNomSource)
>   If not Reponse then 
>     msgbox "La source de données " & oNomSource & " n'existe pas,
> suppression impossible !"
>    Else
>      oDbContext.revokeObject(oNomSource)
>       ' Fermeture du document odb
>       oNewSource.databaseDocument.close(True)     
>       oNewSource.databaseDocument.dispose    
>   msgbox "Source de Données " & oNomSource & " supprimée"
>   end if   
> end sub
> 
> Merci d'avance pour vos réponse
> 
> 
> 
> MABILLE Bruno
> SZSIC METZ
> [EMAIL PROTECTED]
> 
> 

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

Répondre à