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
Télécharger le zip
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___
Oups, affectivement j'ai oublié de le préciser.merci
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
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,
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
Je voudrais savoir s'il est possible de trouver la même chose en php ?Merci
pas mal comme débutant
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";
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
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 690 655 membres 31 nouveaux aujourd'hui 15 693 membres club