5 messages in org.openoffice.fr.progRe: [prog] Publipostage
FromSent OnAttachments
MABILLE Bruno SZSIC57-IMLMar 6, 2007 7:42 am 
Philippe AllartMar 6, 2007 7:54 am 
Francois GattoMar 6, 2007 7:58 pm 
MABILLE Bruno SZSIC57-IMLMar 6, 2007 11:17 pm 
Philippe AllartMar 7, 2007 12:28 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] PublipostageActions...
From:Francois Gatto (oo@volcar.org)
Date:Mar 6, 2007 7:58:47 pm
List:org.openoffice.fr.prog

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