PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Pilotage de Word 2003
Pilotage de Word 2003
Iniciado por thierry_laurendin, nov., 08 2004 6:59 PM - 1 resposta
Publicado em novembro, 08 2004 - 6:59 PM
Voila je faisais du publipostage sous avec word 2000 depuis mon application en windev.
Je suis passé à word 2003 et il me dit que mon objet "execute" n'est pas disponible car mon document n'est pas un document principal de fusion ou alors que l'objet destination n'existe pas.

Merci de votre aide.


Voici le code :




PROCEDURE Publipostage(gsDonnees est une chaîne,mode est une chaîne,mailObjet est une chaîne)
//mode vaut "m" pour envoit d email et "i" pour impression
//sDonnees est une chaine contenant les données du publipostage
// sDocModele est le nom du modèle à utiliser

// on utilise une instance de Word pour le publipostage
clWordTempDonnees,clWordTempModele est un objet cWord()

//*********************//
//****** DONNEES ******//
//*********************//

// on crée un document
clWordTempDonnees:Nouveau()
Multitache(-30)

// on écrit les informations sous forme de texte
// les infos sont séparées par des TAB
clWordTempDonnees:EcrireLigne(gsDonnees)
Multitache(-30)

// vérification de la sélection
QUAND EXCEPTION DANS

clWordTempDonnees:m_xWord>>Application>>WindowState=0 //word Normal

clWordTempDonnees:m_xWord>>Selection
FAIRE
Info("Vous devez d'abord sélectionner du texte.")
RETOUR
FIN

QUAND EXCEPTION DANS
// on les convertit en tableau
clWordTempDonnees:m_xWord>>Selection>>ConvertToTable(1)
Multitache(-30)

// on va à la fin
clWordTempDonnees:m_xWord>>Selection>>EndKey(6)
Multitache(-30)
FAIRE
clWordTempDonnees:MsgErreur("Impossible de convertir en tableau.",ExceptionInfo())
RETOUR
FIN

// on le sauve
clWordTempDonnees:Enregistrer(gsDocDonnées)
Multitache(-30)

// on le ferme
clWordTempDonnees:Fermer()
Multitache(-30)
//clWordTempDonnees:quitter()

Multitache(-30)




//*********************//
//****** MODELE *******//
//*********************//


//on ouvre le document modèle
clWordTempModele:Ouvrir(gsModele)
Multitache(-30)

QUAND EXCEPTION DANS
clWordTempModele:m_xWord>>Application>>WindowState=0 //word Normal
// on prépare le publipostage vers un impression
// clWordTempModele:m_xWord>>ActiveDocument>>MailMerge>>Destination=0
Multitache(-30)
FAIRE
clWordTempModele:MsgErreur("Impossible de faire le publipostage.",ExceptionInfo())
RETOUR
FIN

QUAND EXCEPTION DANS
// on fusionne vers un nouveau document
clWordTempModele:m_xWord>>ActiveDocument>>MailMerge>>Execute(Faux)
Multitache(-30)
FAIRE
clWordTempModele:MsgErreur("Impossible de faire le publipostage.",ExceptionInfo())
RETOUR
FIN

// on enregistre le document fusionné
clWordTempModele:Enregistrer(gsDocFusion)
Multitache(-30)

// on ferme le document
clWordTempModele:Fermer()
Multitache(-30)
Publicado em outubro, 03 2005 - 5:42 PM
Bonjour,

J'ai exactement le même problème. et je n'arrive pas a le résoudre.
quelqu'un connaitrait-t-il la solution?
Merci d'avance pour vos réponse
David