VBA-Spezialthema "FileSystemObject Object Library (scrrun.dll)"
Allgemeines über die "FileSystemObject Object Library"
Übersicht über das FileSystemObject-Objekt
Nutzen und Vorteile der FileSystemObject-Objekte
Methoden und Eigenschaften des FileSystemObject-Objektes
Weitere Informationen von Microsoft
Diese Seite ist teilweise in Bearbeitung! |
Allgemeines über die "FileSystemObject Object Library"
Das FileSystemObject-Objekt existiert ungefähr seit der Veröffentlichung von Microsoft Office 97. Es handelt sich genau genommen nicht um ein einzelnes Objekt, sondern um mherere Objekte, die in einer Objektbibliothek zur Verfügung stehen. Diese befindet sich in der Datei "scrrun.dll", die als "Microsoft Scripting Runtime" bekannt ist. Die Datei ist gewöhnlich im System-Verzeichnis von Windows zu finden.
Die Microsoft Scripting Runtime kann - wie bei Objektbibliotheken üblich - als Verweis in ein VB-, VBA- oder vergleichbares Projekt eingebunden werden (Automation mit Early Binding). Die in der Bibliothek enthaltenen Objekte können auch mittels Late Binding angesprochen werden.
Übersicht über das FileSystemObject-Objekt
| Library Name: | "Microsoft Scripting Runtime" |
| Library Short Name: | "Scripting" |
| TypeLib File: | "D:\WINNT\System32\scrrun.dll" |
| File Version: | 5.1.0.5010 |
| File Product Name: | "Microsoft Script Runtime" |
Die Datei scrrun.dll ist verglichen mit anderen Bibliotheken eher klein, nämlich nur rund 145 KB gross.
| Klasse | Beschreibung |
| FileSystemObject | (Hauptobjekt) |
| Drives | Auflistung von Laufwerken, die mit Laufwerkbuchstaben verbunden sind |
| Folders | Auflistung von Unterordnern in einem Ordner |
| Files | Auflistung von Dateien in einem Ordner |
| Drive | Laufkwerk |
| Folder | Ordner |
| File | Datei |
| TestStream | TextStream-Objekt |
| Encoder | Script Encoder-Objekt |
| Dictionary | Dictionary-Objekt |
Nutzen und Vorteile der FileSystemObject-Objekte
Zugriff auf Laufwerke, Ordner und Dateien als Objekte
Zusätzliche Funktionen wie GetExtensionName
Verbesserte Funktionen durch Parameter wie Overwrite und Force
Zugriff auf Eigenschaften von Laufwerken, Ordnern und Dateien
Zugriff auf alle vorhandenen Laufwerke, alle Unterordner eines Ordners, alle Dateien eines Ordners
Methoden für Lesen und Schreiben von Textdateien
Das FileSystemObject-Objekt
Das Drive-Objekt
Das Drive-Objekt ermöglicht den Zugriff auf ein einzelnes Laufwerk.
- The total size of the drive in bytes (TotalSize property)
- How much space is available on the drive in bytes (AvailableSpace or FreeSpace
properties)
- What letter is assigned to the drive (DriveLetter property)
- What type of drive it is, such as removable, fixed, network, CD-ROM, or RAM disk
(DriveType property)
- The drive's serial number (SerialNumber property)
- The type of file system the drive uses, such as FAT, FAT32, NTFS, and so forth
(FileSystem property)
- Whether a drive is available for use (IsReady property)
- The name of the share and/or volume (ShareName and VolumeName properties)
- The path or root folder of the drive (Path and RootFolder properties)
Das Folder-Objekt
Das Folder-Objekt ermöglicht den Zugriff auf einen einzelnen Ordner.
Das File-Objekt
Das File-Objekt ermöglicht den Zugriff auf eine einzelne Datei.
Moving, Copying, and Deleting Files
The FSO object model has two methods each for moving, copying, and deleting files:
| Aktion | Methode |
| Datei verschieben | File.Move oder FileSystemObject.MoveFile |
| Datei kopieren | File.Copy oder FileSystemObject.CopyFile |
| Datei löschen | File.Delete oder FileSystemObject.DeleteFile |
Methoden und Eigenschaften des FileSystemObject-Objektes
Die nachstehende Tabelle zeigt die Methoden des FileSystemObject-Objektes:
| Methode | Beschreibung |
| FileSystemObject.BuildPath | Hängt einen Namen an einen Pfad an. |
| FileSystemObject.CopyFile | Kopiert eine Datei. |
| FileSystemObject.CopyFolder | Kopiert einen Ordner. |
| FileSystemObject.CreateFolder | Erstellt einen Ordner. |
| FileSystemObject.CreateTextFile | Erstellt eine Textdatei. |
| FileSystemObject.DeleteFile | Löscht eine Datei. |
| FileSystemObject.DeleteFolder | Löscht einen Ordner. |
| FileSystemObject.DriveExists | Überprüft die Existenz eines Laufwerkes. |
| FileSystemObject.FileExists | Überprüft die Existenz einer Datei. |
| FileSystemObject.FolderExists | Überprüft die Existenz eines Ordners. |
| FileSystemObject.GetAbsolutePathName | Gibt aus einer angegebenen Pfadangabe einen vollständigen und eindeutigen Pfad zurück. |
| FileSystemObject.GetBaseName | Gibt eine Zeichenfolge zurück, die den Basisnamen der letzten Komponente (ohne Dateinamenerweiterung) eines Pfades enthält. |
| FileSystemObject.GetDrive | Referenziert das angegebene Laufwerk. |
| FileSystemObject.GetDriveName | Gibt den Namen des Laufwerkes im angegebenen Pfad zurück. |
| FileSystemObject.GetExtensionName | Gibt eine Zeichenfolge zurück, die den Erweiterungsnamen der letzten Komponente eines Pfades enthält. |
| FileSystemObject.GetFile | Referenziert die angegebene Datei. |
| FileSystemObject.GetFileName | Gibt den Namen einer Datei zurück. |
| FileSystemObject.GetFolder | Referenziert den angegebenen Ordner. |
| FileSystemObject.GetParentFolderName | Gibt eine Zeichenfolge zurück, die den Namen des übergeordneten Ordners der letzten Komponenten in einem angegebenen Pfad enthält. |
| FileSystemObject.GetSpecialFolder | Gibt den Pfad des angegebenen Spezialordners zurück. |
| FileSystemObject.GetTempName | Gibt einen willkürlich erstellten Namen einer temporären Datei bzw. eines temporären Ordners zurück, die bzw. der nützlich beim Durchführen von Operationen ist, die eine temporäre Datei oder einen temporären Ordner erfordern. |
| FileSystemObject.MoveFile | Verschiebt eine Datei. |
| FileSystemObject.MoveFolder | Verschiebt einen Ordner. |
| FileSystemObject.OpenTextFile | Öffnet eine Textdatei. |
Nachfolgend die Eigenschaften des FileSystemObject-Objektes:
| Eigenschaft | Bemerkung |
| FileSystemObject.Drives | Gibt ein Drives-Auflistungsobjekt zurück. |
Public Sub GetFolderObject()
Dim objFolder As Object
Set objFolder =
CreateObject("Scripting.FileSystemObject").GetFolder("C:\Daten")
'VBA-Programmcode...
MsgBox objFolder.Files.Count
End Sub
Weitere Informationen von Microsoft
FileSystemObject - Working with Files
http://msdn.microsoft.com/library/en-us/script56/html/sgworkingwithfiles.asp
Zuletzt aktualisiert am 12.05.2005 / 21:15 Uhr
Zuletzt kontrolliert am 01.01.2009 / 10:00 Uhr
© 2002-2009 by Philipp von Wartburg, Schweiz