begin process at 2010 07 31 05:08:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > PUBLIPOSTAGE SOUS WORD

PUBLIPOSTAGE SOUS WORD


 Information sur la source

Note :
Aucune note
Catégorie :Application Niveau :Débutant Date de création :14/01/2004 Vu / téléchargé :23 981 / 1 089

Auteur : neferti

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 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

  • 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
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


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DE QUIZ par ysfhor
Source avec Zip Source avec une capture UPLOAD FILES WITH A PROGRESSBAR ( ASPUPLOAD ) par chunait
Source avec Zip GESTION PLANNING par Cpustack
ENVOI (SAUVEGARDE) D'UN FICHIER BINAIRE SUR UN SITE DISTANT ... par Chrigou
Source avec Zip MINI MESSAGERIE par Simo_TSSI

Commentaires et avis

Commentaire de fabrice69 le 15/01/2004 07:57:12 administrateur CS

Pas mal, mais il faut préciser que pour puvoir utiliser ce système, il faut absolument installer WORD sur le serveur qui exécute les pages ASP.

F___

Commentaire de neferti le 03/02/2004 15:09:44

Oups, affectivement j'ai oublié de le préciser.

merci

Commentaire de Ghost91 le 05/10/2004 13:23:09

Bonjour,

FAut-il donner des droit spécifique au dossier qui contient le .Dot car j'ai un message d'erreur qui me  prend la tête...

Merci.

Error Type:
Microsoft Word (0x800A175D)
Impossible d'ouvrir la macro de stockage.
/habilitation/Tools/ExportLoginPWD.asp, line 69


Commentaire de tola le 28/01/2005 17:42:23

Pour Ghost91, j'avais le même problème avec Windows 2000 et Word 2000 seulement !
C'est un problème de sécurité ! le compte IUSR_xxxx n'a jamais "ouvert" Word et il n'a donc jamais initialisé son environnement office donc son "normal.dot" (la "macro de stockage" décrite par ton message )!
De plus, cet utilisateur "IUSR_xxxx" n'est pas un compte "normal" et on ne peux pas ouvrir une connexion sur le PC avec pour lancer Word, donc,
ma résolution à été de changer le compter qui permet d'accéder à mon répertoire virtuel, c.a.d :
1-Lancer le "Gestionnaire des services internet" dans les outils d'administration.
2-Clic droit sur le répertoire virtuel ou se trouve ton application Web ou sur la racine de ton site.
3-Puis "propriétés" et choisir  l'onglet "sécurité de répertoire".
4-Cliquer sur le bouton "modifier" vers le panel "accès anonyme et contrôle d'authentification".
5-Dans le panel "accès anonyme", bouton "Modifier".
6-Puis dans la fenêtre qui apparaît, clic sur  "parcourir".
7-Choisir un compte avec lequel vous avez ouvert (ou allez ouvrir ) Word sur le serveur au moins une fois (et qui a les droits d'écritures pour sauver le fichier Word et le fichier "normal.dot" nécessaire) !

Voir la fiche "http://www.asp-php.net/scripts/asp-php/asp_et_word.php?numsg=93271&resum=no#tch" qui explique (brièvement) ce problème.

A noter qu'avant, avec NT4 et Word97, je n'avais pas ces problèmes, merci la sécurité de MS.

NB : Si quelqu'un sait comment ouvrir une connexion avec l'utilisateur "IUSR_nom_de_server", je suis très très interessé !

Cordialement,

Commentaire de RobinNono le 26/08/2005 15:50:56

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

Commentaire de Goulf le 09/09/2005 11:38:38

Je voudrais savoir s'il est possible de trouver la même chose en php ?

Merci

Commentaire de didi2005 le 09/10/2007 17:15:19

pas mal comme débutant

Commentaire de zygwi le 09/01/2008 14:39:14

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";

Commentaire de jcex le 20/06/2008 11:51:59

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

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales