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
 

Hantera av citationstecken i textsträngar
Öppna en eller flera filer samt välja mapp (Excel 2002 eller senare)
Öppna en eller flera filer (Alla Excel-versioner)
Läsa text till en textbox från textfil
Hitta sökvägar till specialmappar
Ta bort filer från vald mapp
Lista skyddade filer
Funktioner för att erhålla filnamn, sökväg och filändelse
Filsökning
Data om arbetsböcker
Ändra namn, flytta och ta bort filer & mappar
Funktioner för kontroll om filer & mappar existerar
Säkerhetskopiering
Kontroll av status Arbetsblad & Arbetsbok

 

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".

Flytta filer (FSO)
Läsa text till textbox från textfil (FSO)
  Skapa fellogg (FSO)
  Enhetsinformation (FSO)
Importera textfiler med poster överstigande 65536
Byta namn på arbetsböcker (FSO)
Hantering av textfiler (FSO)
Funktioner för filnamn, sökväg och filändelse (FSO)
Funktion för filsökning (FSO)
Funktion för att skapa mappstruktur (FSO)
Funktion för säkerhetskopiering (FSO)
Lista fil- och mappegenskaper (FSO)
Kopiera fil från diskett (FSO)
Fil- och Mapphantering (FSO)