Je suis mise à jour un programme VBA (excel). Au démarrage, le programme vérifie si elle peut trouver un répertoire qui se trouve sur le serveur de fichiers de bureau en utilisant:VBA comment vérifier l'environnement LAN et Annuler la vérification
FileSystemObject.FolderExists("\\servername\path")
Si cela ne se trouve pas le programme passe en mode hors ligne et enregistre sa sortie sur le disque dur local (pour un transfert ultérieur), au lieu de directement sur le serveur de fichiers. Cela fonctionne très bien, il est très rapide si l'ordinateur peut atteindre le chemin, mais il peut parfois prendre un certain temps (jusqu'à une minute) pour l'appel à FolderExists pour terminer/expirer, surtout s'il y a un réseau connexion ouverte mais le chemin requis n'existe pas (c'est-à-dire que nous sommes connectés à un autre réseau local).
Ma question (s):
est-il plus rapide/meilleure façon de vérifier l'existence d'un chemin réseau à l'aide VBA?
Y at-il un moyen pour que l'utilisateur annule la recherche effectuée par FolderExists() quand il sait qu'il ne peut pas réussir parce qu'ils ne sont pas au bureau. C'est à dire. est-il possible de sortir prématurément FolderExists() (ou tout autre appel de fonction pour cette matière)
Je veux la solution pour avoir aussi peu d'entrée de l'utilisateur que possible, ce qui est la raison pour laquelle le chèque est fait automatiquement, plutôt que de simplement demander à l'utilisateur s'il (ou elle) est au bureau ou non en premier lieu.
Le problème est que nous n'utilisons pas de répertoire actif. C'est juste un tas de PC et d'ordinateurs portables et un serveur de samba. 'echo% LOGONSERVER%' renvoie '\\' –
Loopo
Ah. Ok, et bien, qu'en est-il de la solution ping? Ping le serveur prendra une seconde ou deux. Beaucoup plus facile à traiter que le temps d'attente potentiel associé à FolderExists. –
Juste testé la solution de ping, fonctionne comme un rêve et rapide .. maintenant pourquoi je ne pense pas à cela? Merci Kevin! – Loopo