Erreur : "le serveur distant n'existe pas...." [Résolu]

fixou81 200 Messages postés lundi 9 mai 2005Date d'inscription 12 juin 2007 Dernière intervention - 25 mai 2007 à 09:26 - Dernière réponse : cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention
- 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!
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_MPi 3875 Messages postés mardi 19 mars 2002Date d'inscription 17 août 2018 Dernière intervention - 25 mai 2007 à 12:19
3
Merci
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

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention - 25 mai 2007 à 13:25
3
Merci
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

Merci cavo789 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cavo789
fixou81 200 Messages postés lundi 9 mai 2005Date d'inscription 12 juin 2007 Dernière intervention - 25 mai 2007 à 10:49
0
Merci
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.
Commenter la réponse de fixou81
fixou81 200 Messages postés lundi 9 mai 2005Date d'inscription 12 juin 2007 Dernière intervention - 25 mai 2007 à 11:01
0
Merci
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?
Commenter la réponse de fixou81
cs_MPi 3875 Messages postés mardi 19 mars 2002Date d'inscription 17 août 2018 Dernière intervention - 25 mai 2007 à 11:13
0
Merci
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
Commenter la réponse de cs_MPi
fixou81 200 Messages postés lundi 9 mai 2005Date d'inscription 12 juin 2007 Dernière intervention - 25 mai 2007 à 11:25
0
Merci
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
Commenter la réponse de fixou81
fixou81 200 Messages postés lundi 9 mai 2005Date d'inscription 12 juin 2007 Dernière intervention - 25 mai 2007 à 14:26
0
Merci
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!
Commenter la réponse de fixou81
cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention - 25 mai 2007 à 16:03
0
Merci
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
Commenter la réponse de cavo789

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.