RSS

Kontrol af om et katalog eksisterer

Hvis man skal skrive eller læse filer med 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

Relateret