{resolu}[vba-access] problème avec "word.application"

{resolu}[vba-access] problème avec "word.application" - VB/VBA/VBS - Programmation

Marsh Posté le 23-08-2006 à 17:38:25    

bonjour tout le monde
 
Je suis entrain de faire un programme qui me génère des factures à partir des informations d'une base de données et voici un bout de mon code :
 
 
-------------------------------------------------------------
'je declare ma variable
Dim wdapp As Word.Application
.
.
.
 
'creation de la copie du model de facture
Set demande = CreateObject("scripting.filesystemobject" )
Set demande2 = demande.getfile("C:\facture.doc" )
.
.
.
'creation d'un document word avec le model precedent
chemin_fichier = "C:\" & nom & "_" & prenom & "_facture.doc"
demande2.Copy (chemin_fichier)
.
.
.
'traitement du document
Set wdapp = CreateObject("Word.application" )
Documents.Open chemin_fichier      <-
Documents(chemin_fichier).Activate
.
.
.
'fermeture du word.application
wdapp.Application.Quit               <-
--------------------------------------------------------------
 
 
Voila, mon problème est que si jamais je laisse mon code tel qu'il est, si jamais je fais une boucle sur le bout de code précedent, le programme plante et me dis :
 
" Erreur d'exécution '462': Le serveur distant n'éxiste pas ou  n'est pas disponible "
 
et le debugger m'envoie sur la ligne "Documents.Open chemin_fichier"
 
 
Et sinon deuxième solution si j'enlève la dernière ligne "wdapp.Application.Quit" le programme marche, il peut boucler plusieurs fois le bout de code précedent mais je me retrouve à la fin avec plusieurs application word qui tourne en arrière plan et c'est embetant surtout quand je dois générer plusieurs centaines de factures.
 
 
Voila est ce quelqu'un a déja été confronter à ce genre de problème et a pu le resoudre ?
 
 
Merci


Message édité par ippat le 23-08-2006 à 19:07:08
Reply

Marsh Posté le 23-08-2006 à 17:38:25   

Reply

Marsh Posté le 23-08-2006 à 19:06:42    

On m'a donné la solution : il suffisait de mettre wdapp devant Document
comme cela
 
---------------------------------------
'traitement du document  
Set wdapp = CreateObject("Word.application" )  
wdapp.Documents.Open chemin_fichier        
wdapp.Documents(chemin_fichier).Activate
----------------------------------------
 
cela permet apparemment de distinguer le documents de word de celui d'access.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed