Viele der Tipps und Tricks aus unserer KnowHow-Rubrik und der Komponenten-Rubrik könnten auch für die Script-Programmierung ganz nützlich sein. Doch die meisten davon erfordern einige Visual Basic-Anweisungen und -Funktion und/oder API-Zugriffe und dergleichen, die so unter VBScript nicht zur Verfügung stehen und auch nicht vom Windows Scripting Host oder vom FileSystemObject geboten werden. Wir haben daher einmal einige dieser Tipps in Objekten zusammengefasst und als unter VBScript gebrauchsfertige ActiveX-DLL kompiliert. Als kleines Extra haben wir noch ein paar Funktionen beigefügt, über die zwar Visual Basic verfügt, jedoch nicht VBScript.
Sie finden Setups für diese ActiveX-DLL zum Herunterladen am Ende dieses Artikels, eines mit und eines ohne Visual Basic 6-Runtime-Dateien. Beachten Sie bitte, dass die Scripting-Runtime (für das FileSystemObject) ebenfalls benötigt wird. Da sie jedoch in der Regel auf Systemen, auf denen der Windows Scripting Host installiert ist, vorhanden ist, ist sie nicht in den Setups enthalten, um eventuellen Versionskonflikten vorzubeugen. Und noch allgemeine Anmerkung: Die jeweils benötigten Konstanten können Sie als Eigenschaften der Objekte auslesen.
Das Clipboard-Objekt
Dieses Objekt bietet Ihnen den Zugriff auf die Windows-Zwischenablage. Sie darüber können Ascii- und RTF-Texte in der Zwischenablage ablegen und (/oder wieder) auslesen.
Clear()
Löscht den Inhalt der Zwischenablage.
GetFormat(ByVal Format As Long) As Boolean
Prüft, ob ein Text-Format (Ascii oder RTF) in der Zwischenablage verfügbar ist.
GetText(Optional ByVal Format As Variant) As String
Liest den Inhalt der Zwischenablage aus. Voreingestellt ist das einfache Text-Format. Im Parameter Format können Sie explizit das auszulesende Format angeben. Ist es nicht verfügbar, wird ein leerer String zurückgegeben.
SetText Text As Variant, Optional ByVal Format As Variant, _
Optional ByVal ClearClipboard As Boolean = True
Legt einen Text in der Zwischenablage ab. Voreingestellt ist das einfache Text-Format. Im Parameter Format können Sie explizit das abzulegende Format angeben.
Konstante cfRTF
Text im RTF-Format
Konstante cfText
Text im Ascii-Format
Code des Clipboard-Objekts
Das Screen-Objekt
Dieses Objekt liefert verschiedene Informationen über den aktuellen Bildschirm.
Width
Gibt die horizontale Bildschirm-Auflösung in Pixels zurück.
Height
Gibt die vertikale Bildschirm-Auflösung in Pixels zurück.
ColorDepth
Gibt die aktuell eingestellte Farbtiefe zurück.
WorkAreaHeight
Gibt die Höhe des Arbeitsbereichs (Bildschirmbreite abzüglich Taskbars = Höhe von maximierten Fenstern) in Pixels zurück.
WorkAreaLeft
Gibt die den linksseitigen Abstand des Arbeitsbereichs vom Bildschirmrand in Pixels zurück.
WorkAreaTop
Gibt die den oberen Abstand des Arbeitsbereichs vom Bildschirmrand in Pixels zurück.
WorkAreaWidth
Gibt die Breite des Arbeitsbereichs (Bildschirmbreite abzüglich Taskbars = Breite von maximierten Fenstern) in Pixels zurück.
Code des Screen-Objekts
Das StopWatch-Objekt
Mit diesem Objekt können Sie Zeitmessungen mit Millisekunden-Auflösung vornehmen. Eine ausführliche Beschreibung und den Code finden Sie unter "Stoppuhr".
Die Objekte MaskedFiles und MaskedFolders
Ausführliche Beschreibungen und den Code dieser beiden Objekte finden Sie unter "Sortierte Maskerade". Die Unterschiede sind minimal und betreffen lediglich die Deklarationen der Datentypen der Methoden-Parameter und die Offenlegung der Konstanten als Eigenschaften. Die Verwendung ist ansonsten identisch.
Das FileSys-Objekt
Dieses Objekt bietet einige Datei- und System-Funktionen, die Sie im Windows Scripting Host (WSH) oder im FileSystemObject vielleicht vermissen.
CurDir() As String
Liefert den Pfad des aktuellen Ordners als String. Dies ist entweder der Ordner, in dem sich die Script-Datei befindet oder der Ordner, der in der Verknüpfung als Startordner angegeben ist, falls das Script über eine Verknüpfung gestartet worden ist. Fehlt in der Verknüpfung die Angabe des Startordners, wird der Pfad des Ordners zurückgegeben, in dem sich die Verknüpfung befindet. Der aktuelle Ordner kann über die folgenden beiden Methoden ChDir und ChDrive nach dem Start des Scripts geändert werden.
ChDir(Path As String) As String
Legt den Pfad des aktuellen Ordners fest und gibt den Pfad zur Kontrolle zurück. Konnte der Pfad nicht gesetzt werden, wird der zuvor gesetzte Pfad beibehalten und zurückgegeben.
ChDrive(Drive As String) As String
Legt das aktuelle Laufwerk fest und gibt den Pfad des aktuellen Ordners dieses Laufwerks zurück. Konnte das Laufwerk nicht gesetzt werden, wird das zuvor gesetzte Laufwerk beibehalten und dessen aktueller Pfad zurückgegeben. Es genügt, den Laufwerksbuchstaben alleine im Parameter Drive anzugeben.
ConvertFilesFoldersCase(Path As String, _
Optional ByVal StrConvert As Long = 2, _
Optional ByVal IncludeSubFolders As Boolean, _
Optional ByVal Convert As Long = 2, _
Optional ByVal ExcludeStartFolder As Boolean) As Collection
Diese Methode ändert die Groß-/Kleinschreibung von Datei- und Ordner-Namen. Eine ausführliche Beschreibung finden Sie unter "Von groß nach klein".
CopyFolders(SourcePath As String, _
DestPath As String, _
Optional ByVal CopyMode As Long, _
Optional ByVal Overwrite As Boolean)
Diese Methode kopiert Ordner und ganze Ordnerstrukturen wahlweise mit oder ohne der sich darin befindlichen Dateien. Eine ausführliche Beschreibung finden Sie
unter "Ordner-Struktur kopieren".
FileSystemName(Path As String) As String
Diese Methode liefert den Namen des Dateisystems eines Datenträgers, auf dem sich der angegebene Pfad befindet. Siehe auch "Name des Datei-Systems".
FormatDriveDlg(Drive As Variant) As Long
Diese Methode ruft den Shell-Dialog zum Formatieren von Laufwerken auf. Eine ausführliche Beschreibung finden Sie unter "Format, Format, öffne Dich!".
MakeRelativePath(Path As String, _
Optional BasePath As String, _
Optional PathSeparator As String = "\") As String
Diese Methode liefert einen relativen Pfad. Eine ausführliche Beschreibung finden Sie unter "Relative Pfade".
ResolveRelativePath(RelativePath As String, _
Optional BasePath As String, _
Optional PathSeparator As String = "\") As String
Diese Methode lost einen relativen Pfad auf. Eine ausführliche Beschreibung finden Sie unter "Relative Pfade".
SettingsChanged Optional ByVal Mode As Long = 4, _
Optional ExtraPrompt As String
Diese Methode öffnet den System-Dialog zum Neustart nach der Änderung von System-Einstellungen. Eine ausführliche Beschreibung finden Sie unter "Neustart-Dialog anzeigen".
Code des FileSys-Objekts
|