Grundlagen Visual Basic Script

Allgemein

Programmier /Script Umgebung

  • Es wird lediglich ein Editor benötigt (z.B. notepad++), die Datei wird dann als .vbs abgespeichert, um sie später ausführen zu können.
  • Ist Kostenlos
  • Scriptsprache, wird in Echtzeit Zeile für Zeile von einem Interpreter übersetzt (Kein Compiler).

Variablen und Funktionen in vbs

Variablendeklaration:

Die Variablendeklaration erfolgt über „Dim“

Beispiel:

Dim Var1

Die Option Explicit:

Bei Verwendung der Option Explicit-Anweisung muss diese in einer Datei vor allen anderen Quellcodeanweisungen angeordnet sein. Alle variablen müssen mit der Dim-Anweisung deklariert werden (erzwingt eine genaueDeklaration aller Variablen). Falls man eine Variable nicht deklariert, wird ein Fehler ausgegeben. Ohne „Option Explicit“ wird ein einfacher Tippfehler, z.B. Var1 statt var1, ungewollt zu einer neuen Variablen führen.

Beispiel:

Option Explicit /*Explizite Variablendeklaration erzwingen*/
 
Dim Var1        /*Variable deklarieren
 
Var1 = 10       /*deklariert, löst beim Kompilieren keinen Fehler aus*/
Var2 = 20       /*nicht deklarierte Variable löst beim Kompilieren einen Fehler aus*/

If, Then, Els-Anweißungen

Führen, abhängig vom Wert des Ausdrucks Anweisungen aus.

Syntax:

If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]

Condition: Erforderlich. Ausdruck. Muss True oder False sein oder einen Datentyp ergeben, der implizit in Boolean konvertiert werden kann.

Then: Bei einzeiliger Syntax erforderlich, bei mehrzeiliger Syntax optional.

statements: Optional, Eine oder mehrere Anweisungen nach If, Then, die ausgeführt werden, wenn condition True ist.

Elseifcondition: Erforderlich, wenn ElseIf vorhanden ist. Ausdruck. Muss True oder False sein.

Elseifstatements: Optional. Eine oder mehrere Anweisungen nach ElseIf, Then, die ausgeführt werden, wenn elseifcondition True ist.

Elsestatements: Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn kein vorheriger condition-Ausdruck oder elseifcondition-Ausdruck True ist.

End If: Beendet den If, Then, Else-Block.

Beispiel:

Dim number, digits As Integer
Dim myString As String
number = 53
If number < 10 Then
    digits = 1
ElseIf number < 100 Then
    digits = 2
Else
    digits = 3
End If
If digits = 1 Then myString = "One" Else myString = "More than one"

Messagebox

Syntax:

 MsgBox "Inhalt des Messagebox",0,"Name der Box"

Wichtige Optionen:

  • 0=OK-Fenster
  • 1=OK-/Abbrechen-Fenster
  • 2=Abbrechen-/Wiederholen-/Ignorieren-Fenster
  • 3=Ja-/Nein-/Abbrechen-Fenster
  • 4=Ja-/Nein-Fenster
  • 5=Wiederholen-/Abbrechen-Fenster
  • 16=Anzeigen des Stopp-Symbols
  • 32=Anzeigen des Fragezeichen-Symbols
  • 48=Anzeigen des Symbols Warnung
  • 64=Anzeigen des Symbols Information

Scripte

Kleines "Taschenrechner Programm"

/*Programmeinführung mir der Funktion "option explicit"'option explicit*/
 
/*Variablen Deklaration, der Inputbox <Prompt/Anzeigetext><Titel/Fenstername><Text der def. im Textfeld angezeigt wird>*/
dim mode
mode = inputbox("Bitte wählen Sie die gewünschte Rechenart aus. Einfach +, -, * oder / eingeben.", "Modus", "Hier die gewünschte rechenoperation eingeben")
 
/*Überprüfung auf Eingabe, wenn nicht Programm beenden*/
if mode = "" then
      wscript.quit
end if
On Error Resume Next
 
/*Variablen Deklaration*/ 
dim a 
set a = CreateObject("WScript.Shell")
a = InputBox("Bitte Wert 1 eingeben","Eingabebox","Hier die Zahl eingeben")
 
/*Überprüfung ob der Eingegebene Wert numerisch ist*/
if isnumeric(a) then 
else msgbox "es wurde keine Zahl eingegeben, das Programm wird beendet!"
	wscript.quit
end if
 
/*Variablen Deklaration*/ 
dim b
set b = CreateObject("WScript.Shell")
b = InputBox("Bitte Wert 2 eingeben","Eingabebox","Hier die Zahl eingeben")
 
/*Überprüfung ob der Eingegebene Wert numerisch ist*/
if isnumeric(b) then 
else msgbox "es wurde keine Zahl eingegeben, das Programm wird beendet!"
	wscript.quit
end if
 
/*Variablen Deklaration*/ 
dim c
set c = CreateObject("WScript.Shell")
 
/*Definieren der Rechenfunktion*/
if mode = "+" then
     c = a -- b
elseif mode = "-" then
     c = a - b
elseif mode = "*" then 
     c = a * b
elseif mode = "/" then
     c = a/b
end if
 
/*Ausgabe des Ergebnisses*/
MsgBox "Das Ergebnis Ihrer Rechnung lautet: " & c,64,"Ergebnis"

Kleines "Ausgabe" Script

Das folgende Script gibt den Benutzername und den Computername des Users aus

/*Variablen Deklaration*/
dim Network
set Network = CreateObject("WScript.Network")
/*Output über Messagebox, Username, Computername*/
MsgBox "Username: " & Network.UserName,0,""
MsgBox "Computername: " & Network.ComputerName,0,""

Erweiterung des oben aufgeführten Scripts, auf Anzeige der Systemzeit

/*Variablen Deklaration*/
dim Network, sTime
sTime = Time ()
set Network = CreateObject("WScript.Network")
/*Output über Messagebox, Username, Computername und Systemzeit*/
MsgBox "Username: " & Network.UserName,0,""
MsgBox "Computername: " & Network.ComputerName,0,""
msgBox "Zeit:" & sTime,0,"Zeit"

Kleine Stoppuhr

Option Explicit
Dim start
Dim ende
msgbox "starte stoppuhr","0","Starten der Stoppuhr"
start = Timer
msgbox "stoppuhr anhalten","0","Stoppuhr läuft"
/* Stoppt die laufende Systemzeit*/
ende =Timer
/* Liefert das Ergebnis aus beiden variablen "ende" und "start"*/
msgbox ende-start & "sekunden",0,"Ergebnis"

Script zum löschen von Subfolders

Dim FSO, ordner
Set FSO = CreateObject("Scripting.FileSystemObject")
set ordner = fso.GetFolder("C:\testordner")
'####Unterordner löschen
For Each subf In ordner.subfolders 
subf.delete true
'####Ende
Next

Konstanten in VBS

Allgemein

  • Konstanten sind vordefinierte Werte
  • Können während des Ablaufs eines Scripts nicht geändert werden

Deklaration

Const Bezeichner/Name der Konstanen = Wert-der-Konstanten

VBS und Excel

'_____________________________________________________________________________ Excel starten
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
'_____________________________________________________________________________ Umgang mit Excel Sheets
Set xlw = objExcel.Workbooks.Add
xlw.Sheets(1).Name = "Übersicht" 'Name der Mappe'
'_____________________________________________________________________________ Arbeit in einem Sheet
Set xls = xlw.Sheets(1)
xls.Cells(1,1).Value = "Wert1" 'Zeile 1 Spalte 1'
xls.Cells(1,1).Font.Bold = TRUE'<--------------------------------------------- Zelle Fett machen
xls.Cells(1,2).Value = "Wert2" 'Zeile 1 Spalte 2'
xls.Cells(1,2).Font.Bold = TRUE'<--------------------------------------------- Zelle Fett machen
xls.Cells(1,3).Value = "Ergebnis" 'Zeile 1 Spalte 3'
xls.Cells(1,3).Font.Bold = TRUE'<--------------------------------------------- Zelle Fett machen
xls.Cells(2,1).Value = "1"
xls.Cells(2,2).Value = "5"
'______________________________________________________________________________ Zeilen addieren
xls.Range("C2").FormulaLocal = "=Summe(A2:B2)"
'______________________________________________________________________________ Färbt die Komplette Zeile ein 
xls.Rows(1).Interior.ColorIndex = 40'<----------------------------------------- Farbwert
 
 visual_basic_script_vbs.txt · Zuletzt geändert: 2015/04/09 11:05 von 85.115.17.50
[unknown button type]
 
Recent changes RSS feed Driven by DokuWiki