Home Rejser Gæstebog Erics blog Kontakt
 

Home > Excel makroer & VBA > Hvordan man kontrollerer, om et katalog eksisterer

Kontrol af om et katalog eksisterer - Excel VBA

Hvis man skal skrive eller læse filer via Excel VBA, skal man som regel kontrollere, om et givet katalog (folder) eksisterer. Der er flere måder at gøre det på, og her er to eksempler på funktioner. De får stien med katalognavnet som en tekststreng og returnerer TRUE eller FALSE, alt efter om kataloget eksisterer eller ej.


Public Function DirCheck(ByVal sDirPath As String) As Boolean
'Returnerer TRUE hvis et katalog eksisterer.

On Error GoTo ErrorHandle

'Hvis den angivne sti er kortere end 2 tegn
'forlades funktionen.

If Len(sDirPath) < 2 Then
  DirCheck = False
  Exit Funtion
End If

If Len(Dir(sDirPath, vbDirectory)) > 0 Then
  DirCheck = True
Else
  DirCheck = False
End If

Exit Function
ErrorHandle:
MsgBox Err.Description & ", fejl i funktionen DirCheck."
End Function


Public Function ValidDir(ByVal sPath As String) As Boolean
'Returnerer TRUE, hvis et katalog eksisterer.
'Virker kun i Excel >= 2000.

Dim fsObject

On Error GoTo ErrorHandle

Set fsObject = CreateObject("Scripting.FileSystemObject")
If fsObject.folderExists(sPath) = True Then ValidDir = True

BeforeExit:
Set fsObject = Nothing
Exit Function
ErrorHandle:
MsgBox Err.Description & ", fejl i funktionen ValidDir"
Resume BeforeExit
End Function