ma non ritorna l'esistenza di una directory?
no, provala, vedrai che funziona.
Questo il codice per controllare l'esistenza di una directory:
Private Function DirExists(ByVal DirPath As String) As Boolean
On Error Resume Next
DirExists = (GetAttr(DirPath) And vbDirectory)
On Error goto 0
End Function