Publipostage sous word

Soyez le premier à donner votre avis sur cette source.

Vue 32 356 fois - Téléchargée 1 542 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
-
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
-
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 -
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
-
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
-
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.