Verschiedene VBScript-Anweisungen
VBScript enthält einige weitere wichtige Anweisungen, die Entwicklern bei der Entwicklung eines effizienten Skripts helfen sollen. In der folgenden Tabelle sind einige dieser wichtigen Aussagen aufgeführt. In diesem Kapitel werden wir jede dieser Aussagen anhand von Beispielen ausführlich diskutieren.
Kategorie | Funktionsname / Anweisungsname |
---|---|
Optionen | Option Explizit |
Skript-Engine-ID | ScriptEngine |
Varianten | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
Ausdruck | Auswerten, ausführen |
Kontrollanweisung | Mit ... Ende mit |
Mathematische Funktion | Randomisieren |
Option Explizit
Option Explicit zwingt den Entwickler, die Variablen mit zu deklarieren Dim Anweisung, bevor sie in einem Teil des Codes verwendet werden.
Syntax
Option Explicit
Beispiel
Wenn wir verwenden Option Explicit und wenn wir die Variablen nicht deklarieren, wird der Interpreter werfen und Fehler machen.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Option Explicit
Dim x,y,z,a
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
</body>
</html>
ScriptEngine
ScriptEnginestellt die Details der verwendeten Skriptsprache dar. Es wird auch in Kombination mit verwendetScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion Dies gibt die Hauptversion der VBScript-Engine, die Nebenversion die VBScript-Engine und die Build-Version von VBScript an.
Syntax
ScriptEngine
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim scriptdetails
scriptdetails = " Version " & ScriptEngine & " - "
'For getting Major version, use ScriptEngineMajorVersion'
scriptdetails = scriptdetails & ScriptEngineMajorVersion & "."
'For getting Minor version, use ScriptEngineMinorVersion'
scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
'For getting Build version, use ScriptEngineBuildVersion'
scriptdetails = scriptdetails & ScriptEngineBuildVersion
Document.write scriptdetails
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Version VBScript - 5.8.16996
Ist leer
Mit der Funktion IsEmpty wird geprüft, ob der Ausdruck leer ist oder nicht. Es gibt einen Booleschen Wert zurück.IsEmptyGibt True zurück, wenn die Variable nicht initialisiert oder explizit auf Leer gesetzt ist. Andernfalls gibt der Ausdruck False zurück.
Syntax
IsEmpty(expression)
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, MyCheck
MyCheck = IsEmpty(var)
Document.write "Line 1 : " & MyCheck & "<br />"
var = Null ' Assign Null.
MyCheck = IsEmpty(var)
Document.write "Line 2 : " & MyCheck & "<br />"
var = Empty ' Assign Empty.
MyCheck = IsEmpty(var)
Document.write "Line 3 : " & MyCheck & "<br />"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Line 1 : True
Line 2 : False
Line 3 : True
Ist Null
Mit der Funktion IsNull wird überprüft, ob der Ausdruck gültige Daten enthält. Es gibt einen Booleschen Wert zurück.IsNull Gibt True zurück, wenn die Variable Null ist, andernfalls gibt der Ausdruck False zurück.
Syntax
IsNull(expression)
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, res
res = IsNull(var)
document.write "Line 1 : " & res & "<br />"
var = Null
res = IsNull(var)
document.write "Line 2 : " & res & "<br />"
var = Empty
res = IsNull(var)
document.write "Line 3 : " & res & "<br />"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Line 1 : False
Line 2 : True
Line 3 : False
IsObject
Mit der IsObject-Funktion wird überprüft, ob der Ausdruck ein gültiges Objekt enthält. Es gibt einen Booleschen Wert zurück.IsObject Gibt True zurück, wenn der Ausdruck einen Objektuntertyp enthält, andernfalls gibt der Ausdruck False zurück.
Syntax
IsObject(expression)
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim fso,b
b = 10
set fso = createobject("Scripting.Filesystemobject")
x = isobject(fso)
Document.write "Line 1 : " & x & "<br />"
y = isobject(b)
Document.write "Line 2 : " & y & "<br />"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Line 1 : True
Line 2 : False
IsNumeric
Mit der IsNumeric-Funktion wird überprüft, ob der Ausdruck einen Zahlenuntertyp hat oder nicht. Es gibt einen booleschen Wert zurück.IsObject Gibt True zurück, wenn der Ausdruck einen Zahlenuntertyp enthält, andernfalls gibt der Ausdruck False zurück.
Syntax
IsNumeric(expression)
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, chk
var = 20
chk = IsNumeric(var)
Document.write "Line 1 : " & chk & "<br />"
var = "3.1415935745"
chk = IsNumeric(var)
Document.write "Line 2 : " & chk & "<br / >"
var = "20 Chapter 23.123 VBScript"
chk = IsNumeric(var)
Document.write "Line 3 : " & chk & "<br / >"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Line 1 : True
Line 2 : True
Line 3 : False
Modellname
Die TypeName-Funktion wird verwendet, um die varianten Subtypinformationen der Variablen zurückzugeben.
Syntax
TypeName(varname)
Die Funktion Typename kann einen der folgenden Werte zurückgeben.
Byte - Bytewert
Ganzzahl - Ganzzahliger Wert
Long - Long Integer Value
Einfach - Gleitkommawert mit einfacher Genauigkeit
Double - Gleitkommawert mit doppelter Genauigkeit
Währung - Währungswert
Dezimal - Dezimalwert
Datum - Datum oder Uhrzeit
String - Zeichenkettenwert
Boolean - Boolescher Wert
Leer - nicht initialisierter Wert
Null - Keine gültigen Daten
Objekt - Typname des Objekts
Nichts - Objektvariable, die sich noch nicht auf eine Objektinstanz bezieht
Error
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim ArrVar(2), vartype
NullVar = Null ' Assign Null value.
vartype = TypeName(3.1450)
Document.write "Line 1 : " & vartype & "<br />"
vartype = TypeName(432)
Document.write "Line 2 : " & vartype & "<br />"
vartype = TypeName("Microsoft")
Document.write "Line 3 : " & vartype & "<br />"
vartype = TypeName(NullVar)
Document.write "Line 4 : " & vartype & "< br />"
vartype = TypeName(ArrVar)
Document.write "Line 5 : " & vartype & "<br />"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()
Eval
Die Eval-Funktion führt einen Ausdruck aus und gibt das Ergebnis entweder als Zeichenfolge oder als Zahl zurück.
Syntax
Eval(expression)
Das Argument Ausdruck kann ein Zeichenfolgenausdruck oder eine Zahl sein. Wenn Sie eine Zeichenfolge an die Eval-Funktion übergeben, die keinen numerischen Ausdruck oder Funktionsnamen, sondern nur eine einfache Textzeichenfolge enthält, tritt ein Laufzeitfehler auf. Beispielsweise führt Eval ("VBScript") zu einem Fehler.
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Document.write Eval("10 + 10") & "<br />"
Document.write Eval("101 = 200") & "<br />"
Document.write Eval("5 * 3") & "<br />"
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
20
false
15
Ausführen
Die Execute-Anweisung akzeptiert ein Argument, das ein Zeichenfolgenausdruck ist, der eine oder mehrere Anweisungen zur Ausführung enthält.
Syntax
Execute(expression)
In VBScript kann a = b auf zwei Arten interpretiert werden. Es kann als Zuweisungsanweisung behandelt werden, bei der der Wert von x y zugewiesen wird. Es kann auch als Ausdruck interpretiert werden, der prüft, ob a und b denselben Wert haben. Wenn dies der Fall ist, ist das Ergebnis wahr. Ist dies nicht der Fall, ist das Ergebnis Falsch. Die Execute-Anweisung verwendet immer die erste Interpretation, während die Eval-Anweisung immer die zweite verwendet.
Beispiel
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim x
x = "Global"
y = "VBScript"
Execute("x = y")
msgbox x
msgbox y
</script>
</body>
</html>
Speichern Sie die Datei mit der Erweiterung .html, wenn Sie das Skript im IE ausführen. Das folgende Ergebnis wird auf dem Bildschirm angezeigt.
VBScript
VBScript
Mit ... Ende mit
Mit der With-Anweisung können wir eine Reihe von Operationen an einem bestimmten Objekt ausführen, ohne den Objektnamen immer wieder explizit zu erwähnen.
Syntax
With (objectname)
statement 1
statement 2
statement 3
...
...
statement n
End With
Beispiel
Beim Ausführen des folgenden Skripts wird Winword geöffnet und der angegebene Text eingegeben.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Msg = "Vbscript" & vbCrLf & "Programming"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Objects methods are accessed without requaliyfying the objects again.'
With objWord
.Documents.Add
.Selection.TypeText Msg
.Selection.WholeStory
End With
</script>
</body>
</html>
Randomisieren
Die Randomize-Anweisung initialisiert den Zufallszahlengenerator, der für die Entwickler hilfreich ist, um eine Zufallszahl zu generieren.
Syntax
Randomize [number]
Beispiel
Beim Ausführen des folgenden Skripts wird Winword geöffnet und der angegebene Text eingegeben.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim MyValue
Randomize
MyValue = Int((100 * Rnd) + 1) ' Generate random value between 1 and 100.
MsgBox MyValue
</script>
</body>
</html>
Speichern Sie das obige Skript als HTML und beim Ausführen des Skripts im IE wird die folgende Ausgabe angezeigt.
42