Dir unter Word2007 und Vista funktioniert nicht bei Netzlaufwerken

03/05/2008 - 17:35 von Kowalski | Report spam
Hi,

wenn ich unter Word2007 unter Vista mit folgendem Befehl teste ob ein
Verzeichnis existiert kommt es zur Meldung, dass das Verzeicnis nicht
existiert:

if Dir("G:\temp", vbDirectory) = "" then
Msgbox "Verzeichnis existiert nicht !"
end if

Im Explorer und im Total-Commander ist das Verzeichnis jedoch vorhanden.
Nun steht ja in Eurem neuen Buch, dass man Dir für diese Aufgabe nicht
verwenden sollte und es ist eine Lösung aufgezeigt, die über die Ermittlung
der Attribute geht. Diese funktioniert aber ebenfalls nicht !
Ist das Problem für andere nachvollziehbar und gibt es eine Lösung ??

Gruss Kowalski !
 

Lesen sie die antworten

#1 Thomas Gahler
07/05/2008 - 09:22 | Warnen spam
Hallo Kowalski



wenn ich unter Word2007 unter Vista mit folgendem Befehl teste ob ein
Verzeichnis existiert kommt es zur Meldung, dass das Verzeicnis nicht
existiert:


Würde ich auch nicht mit Dir$() testen sondern mittels GetAttr().

Geht das so?



Public Function funcExistiertVerzeichnis(ByVal CVerzeichnisName As String)
As Boolean
'Stellt fest, ob ein spezielles Verzeichnis auf dem System vorhanden ist.
On Error Resume Next
If Right$(CVerzeichnisName, 1) = "\" Then
CVerzeichnisName = Left$(CVerzeichnisName, Len(CVerzeichnisName) - 1)
End If
funcExistiertVerzeichnis = CBool((GetAttr(CVerzeichnisName) And
vbDirectory))
End Function








und diese gratis dazu

Public Function funcExistiertDatei(ByVal cDateiName As String) As Boolean
'Stellt fest, ob eine spezielle Datei auf dem System vorhanden ist.
Const tgATTR_NOTFILE As Integer = vbDirectory + vbVolume

On Error Resume Next
funcExistiertDatei = CBool((GetAttr(cDateiName) And tgATTR_NOTFILE) = 0)
End Function









Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen