Publipostage sous word

0/5 (9 avis)

Vue 33 165 fois - Téléchargée 1 688 fois

Description

Le code permet de faire un publipostage sous word à partir d'un fichier ASP.
Le publipostage est réalisé à partir d'un modèle Word et un fichier texte avec les infomations.
On pourra soit enregistrer sous imprimer le résultat.

Source / Exemple :


Set AppWord = CreateObject("Word.Application")

      AppWord.visible = True
      AppWord.DisplayAlerts = True

Set ActiveDocument = AppWord.Documents.Open("url du modèle .dot")
                ActiveDocument.Activate
                ' **** Ouverture de la source de données

                ActiveDocument.MailMerge.OpenDataSource("url du fichier contenant les informations (ici .txt)")

               'Paramétrage et lancement du publipostage

      With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .MailAsAttachment = False
        .MailAddressFieldName = ""
        .MailSubject = ""
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute True
      End With

                Set DocumentResultat  = AppWord.ActiveDocument
                 

'DocumentResultat.PrintOut
DocumentResultat.SaveAs "nom du document résultant du publuipostage (.doc)"
DocumentResultat.Save
DocumentResultat.close
 'Fermeture du doc

                 ActiveDocument.close

AppWord.Application.Quit

Codes Sources

A voir également

Ajouter un commentaire Commentaires
jcex Messages postés 11 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 11 août 2009
20 juin 2008 à 11:51
Bonjour,
Pour ma part j'ai un problème que je n'arrive pas à diagnostiquer, le lancement du fichier publipostage.asp est vraiment très long, je suppose que c'est une des lignes qui doit être bloquante mais je n'ai aucun message d'erreur. Le modèle .dot est bien généré puisque marche en le lançant à partir de word et fait bien la liaison avec les données présentes sur le fichier texte. Là ça fait environ 10 min que ça tourne donc je crois que je peux arrêter... Je travaille en local avec iis sur windows 2000 et word est bien sur installé sur la machine.
Je vous remercie d'avance
zygwi Messages postés 1 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 9 janvier 2008
9 janv. 2008 à 14:39
en PHP, j'ai fait cela et cela marche :
echo "<script language="VBScript">\n";
echo "Set AppWord = CreateObject("Word.Application")\n";
echo "AppWord.visible = True\n";
echo "AppWord.DisplayAlerts = True\n";
echo "Set ActiveDocument = AppWord.Documents.Open("C:\\monChemin\\monModele.dot")\n";
echo "ActiveDocument.Activate\n";
echo "ActiveDocument.MailMerge.OpenDataSource("C:\\monChemin\\maSource.txt")\n";
echo "With ActiveDocument.MailMerge\n";
echo " .Destination = wdSendToNewDocument\n";
echo " .MailAsAttachment = False\n";
echo " .MailAddressFieldName = ""\n";
echo " .MailSubject = ""\n";
echo " .SuppressBlankLines = True\n";
echo " With .DataSource\n";
echo " .FirstRecord = wdDefaultFirstRecord\n";
echo " .LastRecord = wdDefaultLastRecord\n";
echo " End With\n";
echo " .Execute True\n";
echo "End With\n";
echo "\n";
echo "Set DocumentResultat = AppWord.ActiveDocument\n";
echo "'DocumentResultat.PrintOut\n";
echo "DocumentResultat.SaveAs "C:\\monChemin\\LettreType.doc"\n";
echo "DocumentResultat.Save\n";
echo "DocumentResultat.close\n";
echo "ActiveDocument.close\n";
echo "AppWord.Application.Quit\n";
echo "}\n";
echo "</script>\n";
didi2005 Messages postés 46 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 1 juillet 2008 1
9 oct. 2007 à 17:15
pas mal comme débutant
Goulf Messages postés 1 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 9 septembre 2005
9 sept. 2005 à 11:38
Je voudrais savoir s'il est possible de trouver la même chose en php ?

Merci
RobinNono Messages postés 1 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 26 août 2005
26 août 2005 à 15:50
salut!
moi j'ai un message d'erreur:
"Erreur d'exécution Microsoft VBScript error '800a01ad'

Un composant ActiveX ne peut pas créer un objet.: 'Word.Application'

/FSIR/EDITIONS/CONTRAT/GSRE_Open_Modele.asp, line 3
"
est-ce qu'il me manque une instruction? un pb de config.?
Merci pour votre aide

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.