Fil-, mapp och enhetshantering
I denna sektion samlas tips som visar hur vi hanterar filer, mappar och enheter mha av VBA, Windows API och Windows Script Host (WSH).
Tips - VBA / Windows API
Tips - VBA / FileSystemObject (Windows Script Host (WSH))
WSH är ett administrativt verktyg och mer om verktyget kan man läsa på http://msdn.microsoft.com/scripting. Där finns också den senaste versionen att tillgå samt en omfattande hjälpfil att hämta hem.
Den del av WSH som används här är Active-X komponenten, SCRRUN.DLL. För att använda oss av denna komponent måste vi ange en referens till den i våra projekt:
1. I VB-editorn anges kommandot Verktyg | Referenser
2. Kryssa för "Microsoft Scripting Runtime" (filnamnet är SCRRUN.DLL)
Den klass som används här heter FileSystemObject och hanterar således filer, mappar och enheter.
Om vi inte vill ange en referens till biblioteket så måsta följande kod anges i proceduren:
Dim fsoObj As Object
Set fsObj = CreateObject("Scripting.FilesystemObject")
Felhantering:
Här visas några enklare sätt att hantera vanliga fel på.
För kontroll om "Microsoft Scripting Runtime" är installerad kan följande kodsnutt användas:
If Err.Number = 429 Then
MsgBox "Microsoft Scripting Runtime Library" & vbCrLf _
& " är ej installerat på denna dator."
End If
Om målmappen redan existerar:
If Err.Number = 58 Then
MsgBox "Mappen existerar redan - Kan inte skriva över den."
End If
Om källmappen inte kan hittas:
If Err.Number = 76 Then
MsgBox "Källmappen kan ej hittas."
End If
I sektionen för VBA-referenser visas hur vi kan lägga till / ta bort referenser via kod, bl a till "Microsoft Scripting Runtime".