PUBLIPOSTAGE SOUS WORD

Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
- - Dernière réponse : 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
-
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
cs_tola
Messages postés
6
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2010
-
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
-
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
-
Oups, affectivement j'ai oublié de le préciser.

merci
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
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___