Déclarations diverses de VBScript

VBScript a quelques autres instructions importantes pour aider les développeurs à développer un script efficace. Le tableau suivant répertorie un ensemble de déclarations importantes. Dans ce chapitre, nous discuterons chacune de ces déclarations en détail avec des exemples.

Catégorie Nom de la fonction / Nom de l'instruction
Options Option explicite
ID du moteur de script ScriptEngine
variantes IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
Expression Évaluer, exécuter
Déclaration de contrôle Avec ... Fin avec
Fonction mathématique Randomiser

Option explicite

Option Explicit force le développeur à déclarer les variables en utilisant Dim avant qu’ils ne soient utilisés dans une partie du code.

Syntaxe

Option Explicit

Exemple

Si nous utilisons Option Explicit et si nous ne déclarons pas les variables, l'interpréteur lancera une erreur.

<!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

ScriptEnginereprésente les détails du langage de script utilisé. Il est également utilisé en combinaison avecScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion qui donne respectivement la version majeure du moteur vbscript, la version mineure le moteur vbscript et la version build de vbscript.

Syntaxe

ScriptEngine

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Version VBScript - 5.8.16996

Est vide

La fonction IsEmpty est utilisée pour vérifier si l'expression est vide ou non. Il renvoie une valeur booléenne.IsEmptyrenvoie True si la variable n'est pas initialisée ou définie explicitement sur Empty. Sinon, l'expression renvoie False.

Syntaxe

IsEmpty(expression)

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Line 1 : True
Line 2 : False
Line 3 : True

IsNull

La fonction IsNull est utilisée pour vérifier si l'expression a ou non des données valides. Il renvoie une valeur booléenne.IsNull renvoie True si la variable est Null, sinon l'expression renvoie False.

Syntaxe

IsNull(expression)

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

La fonction IsObject est utilisée pour vérifier si l'expression a ou non un objet valide. Il renvoie une valeur booléenne.IsObject renvoie True si l'expression contient un sous-type d'objet, sinon l'expression renvoie False.

Syntaxe

IsObject(expression)

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Line 1 : True
Line 2 : False

IsNumeric

La fonction IsNumeric est utilisée pour vérifier si l'expression a ou non un sous-type numérique. Il renvoie une valeur booléenne.IsObject renvoie True si l'expression contient un sous-type numérique, sinon l'expression renvoie False.

Syntaxe

IsNumeric(expression)

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

La fonction TypeName est utilisée pour renvoyer les informations de sous-type de variante de la variable.

Syntaxe

TypeName(varname)

La fonction Typename peut renvoyer l'une des valeurs suivantes.

  • Octet - Valeur d'octet

  • Entier - Valeur entière

  • Long - Valeur entière longue

  • Simple - Valeur à virgule flottante simple précision

  • Double - Valeur à virgule flottante double précision

  • Devise - Valeur de la devise

  • Décimal - Valeur décimale

  • Date - Valeur de la date ou de l'heure

  • Chaîne - Chaîne de caractères Valeur

  • Boolean - Valeur booléenne

  • Vide - Valeur non initialisée

  • Null - Aucune donnée valide

  • Object - nom de type de l'objet

  • Nothing - Variable d'objet qui ne fait pas encore référence à une instance d'objet

  • Error

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

La fonction Eval exécute une expression et renvoie le résultat sous forme de chaîne ou de nombre.

Syntaxe

Eval(expression)

L'argument Expression peut être une expression de chaîne ou un nombre. Si vous transmettez à la fonction Eval une chaîne qui ne contient pas d'expression numérique ou de nom de fonction mais uniquement une simple chaîne de texte, une erreur d'exécution se produit. Par exemple, Eval ("VBScript") génère une erreur.

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

20
false
15

Exécuter

L'instruction Execute accepte l'argument qui est une expression de chaîne contenant une ou plusieurs instructions à exécuter.

Syntaxe

Execute(expression)

Dans VBScript, a = b peut être interprété de deux manières. Il peut être traité comme une instruction d'affectation où la valeur de x est affectée à y. Il peut également être interprété comme une expression qui teste si a et b ont la même valeur. S'ils le font, le résultat est Vrai; s'ils ne le sont pas, le résultat est Faux. L'instruction Execute utilise toujours la première interprétation tandis que l'instruction Eval utilise toujours la seconde.

Exemple

<!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>

Enregistrez le fichier avec l'extension .html lors de l'exécution du script dans IE, le résultat suivant s'affiche à l'écran.

VBScript
VBScript

Avec..Fin avec

L'instruction With nous permet d'effectuer une série d'opérations sur un objet spécifié sans mentionner explicitement le nom de l'objet encore et encore.

Syntaxe

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

Exemple

Lors de l'exécution du script suivant, Winword s'ouvre et le texte spécifié est saisi.

<!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>

Randomiser

L'instruction Randomize initialise le générateur de nombres aléatoires, ce qui permet aux développeurs de générer un nombre aléatoire.

Syntaxe

Randomize [number]

Exemple

Lors de l'exécution du script suivant, Winword s'ouvre et le texte spécifié est saisi.

<!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>

Enregistrez le script ci-dessus au format HTML et lors de l'exécution du script dans IE, la sortie suivante s'affiche.

42