Erreur : "le serveur distant n'existe pas...."

Résolu
fixou81 Messages postés 200 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 12 juin 2007 - 25 mai 2007 à 09:26
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 - 25 mai 2007 à 16:03
Bonjour a tous,
voila j'ai vu que mon probleme était deja traité mais malgré cela je ne vois pas concretement ce qui ne vas pas. Pour savoir ce probleme a était traité ici http://www.vbfrance.com/infomsg_462-SERVEUR-DISTANT-EXISTE-PAS-OU-EST-PAS_401893.aspx' target='_blank'>http://www.vbfrance.com/infomsg_462-SERVEUR-DISTANT-EXISTE-PAS-OU-EST-

Je vais vous exposer mon probleme : Depuis access je pilote word, je fais plusieurs copier-coller automatique. Tout fonctionne bien sauf quand je fais mon operation une deuxieme fois d'affilée. J'ai alors l'erreur 462 "Le serveur distant n'existe pas ou n'est pas dispo..."
voici mon code : il se fait dans l'evenement click bouton (je n'ai pas mis tout end sub...je ai mis l'interessant)

Set WordApp = CreateObject("Word.Application")
 WordApp.Visible = True
  
  Set WrdDoc = WordApp.Documents.Open("C:\Documents and Settings\...\Document de base")
Set wrdRange = WrdDoc.Bookmarks("Nom").Range
wrdRange.Text = "" & nom
Selection.EndKey Unit:=wdStory


With WordApp
.TypeParagraph
.TypeText Text:="A faire3 fois"
End With

Selection.EndKey Unit:=wdStory
    chemindoc = "C:\...\document        
Cree_Document (chemindoc) 'appelle une fonction qui fait des copier-coller tout simple
 'Document de destination
    WordApp.ActiveDocument.SaveAs FileName:= _
        "C:\Documents and Settings\....\Patients" & nom, FileFormat:= _
        wdFormatDocument      
  WordApp.ActiveDocument.Close
WordApp.Quit
Set WrdDoc = Nothing
Set WordApp = Nothing
end sub
Donc la ou sa marche pas la deuxieme fois c'est a Selection.EndKey Unit:=wdStory

J'ai bien compris que à chaque appel à un objet, une méthode ou une propriété Word soit qualifié avec la variable objet appropriée.
Mais comment faire pour faire ceci correctement?
Merci de votre aide!

8 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 mai 2007 à 12:19
Si je comprends bien, tu ne voudrais pas que l'action puisse être faite 2 fois , c'est ça ?
Si oui, et en utilisant la méthode que je décrivais, ton objet Word serait toujours "actif" après un premier passage.
Il suffirait de voir si l'objet Is Nothing ou pas.
If Not WordApp Is Nothing then Exit sub  ' en début de procédure

WordApp devra préférablement être déclaré dans un module en Public (ou peut-être dans l'entête de la page de code de ce formulaire en Private ...)

MPi
3
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
25 mai 2007 à 13:25
Bonjour

Ce message apparait lorsque tu fais de l'automation et lorsque l'objet n'existe plus.   

Selection.EndKey Unit:=wdStory
    chemindoc = "C:\...\document     

Qu'est-ce que Selection.EndKey ?   Il me semble que c'est une propriété de Word et pas d'Access.   Ne devrais-tu pas écrire plutôt ceci : WordApp.Selection.EndKey voire mieux; mettre le .Selection dans ton With

Christophe
3
fixou81 Messages postés 200 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 12 juin 2007
25 mai 2007 à 10:49
sniff, comprend pas moi...


je pense que c'est le selection de selection.endkey...ptetr il y a un autre moyen de se placer a la fin du document. Je sais pas.
0
fixou81 Messages postés 200 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 12 juin 2007
25 mai 2007 à 11:01
ou alors il y a moyen de tout reinitialiser sans quitter le programme, de maniere a me liberer pour pouvoir reutiliser mon selection.end key?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 mai 2007 à 11:13
Salut,

Je ne programme jamais avec Word et n'ai pas l'intention de commencer...
Mais, logiquement, si tu dois faire plusieurs passage dans ta macro, il ne sert à rien de créer une instance à chaque fois et de la fermer.

Essaie en créant ton instance une première fois, appelle ta macro le nombre de fois nécessaire, puis ferme l'instance une fois que tout est terminé.

Est-ce que ça fonctionne mieux ?

MPi
0
fixou81 Messages postés 200 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 12 juin 2007
25 mai 2007 à 11:25
c'est a dire qu'a la base j'utilise mon instance une seule fois. Mais mon probleme est si l'utilisateur reclique une deuxieme fois alors ca ne marche pas.
En fait l'action que j'ai decrite lors du click sur un bouton valide des selection qu'a fait l'utilisateur puis un document se créé selon les selections lors du click. Si l'utilisateur change ses selections et reclique alors ca ne marche plus la ou je l'ai decrit. Je n'ai donc pas interet a appeler ma macro le nombre de fois souhaitée.
Merci tout de meme
0
fixou81 Messages postés 200 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 12 juin 2007
25 mai 2007 à 14:26
Tu as raison Cavo789 il fallait bien a chaque fois specifier WordApp.selectione t comme a chaque fois a la fin je fais set wordapp=nothing, je peux reutiliser ensuite wordapp.


Merci aussi a Mpi de son aide car déclarer wordapp public est judicieux!


Donc merci a vous deuxmon probleme est resolu.


Merci!
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
25 mai 2007 à 16:03
Merci pour ton ... merci.   C'est sympa de prendre le temps de donner un feedback quand la solution proposée convient car cela peut aussi aider d'autre par la suite. ;-)

Bon prog.

Christophe
0
Rejoignez-nous