J'essaie d'obtenir un répertoire qui est dans le réseau en utilisant un chemin UNC et le FileSystemObject, mais si le répertoire réseau n'est pas disponible, la réponse prend beaucoup de temps. Je suppose que cela est dû à la numérisation de la majeure partie du réseau et/ou envoie plus de pings à ce stade. Alors existe-t-il une méthode que je pourrais utiliser pour vérifier plus rapidement l'existence d'un répertoire de réseau avant d'utiliser le FSO?VBA: Refuser une réponse longue en utilisant UNC Path et FileSystemObject
0
A
Répondre
0
J'ai ajouté une vérification de fichier (et un exemple d'appel à partir d'une sous-routine), puis une vérification de dossier. Les deux sont appelés de la même manière et tous deux utilisent la fonction Dir
. J'ai ajouté un gestionnaire d'erreurs dans le fichier, cela vaut la peine d'ajouter ceci pour le vérificateur de dossier:
Sub Main()
if FileExists("O:\Filenamehere") = TRUE then
'do stuff
end if
End Sub
'For a file
Function FileExists(ByVal FullPath As String) As Boolean
On Error GoTo Hand
If Dir(FullPath) <> "" Then
FileExists = True
Else
FileExists = False
End If
Exit Function
Hand:
Select Case Err.Number
Case 52
FileExists = False
End Select
End Function
'For a directory
Function DirectoryExists(ByVal FullPath As String) As Boolean
If Dir(FullPath, vbDirectory) <> "" Then DirectoryExists = True Else DirectoryExists = False
End Function
C'est VBA mais cela n'a pas d'importance. – Kinimod