PUBLIPOSTAGE SOUS WORD

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 - 15 janv. 2004 à 07:57
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
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19480-publipostage-sous-word

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
cs_tola Messages postés 6 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 19 mars 2010
28 janv. 2005 à 17:42
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,
cs_Ghost91 Messages postés 6 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 7 septembre 2005
5 oct. 2004 à 13:23
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
cs_neferti Messages postés 13 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 27 avril 2004
3 févr. 2004 à 15:09
Oups, affectivement j'ai oublié de le préciser.

merci
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
15 janv. 2004 à 07:57
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___
Rejoignez-nous