L’instruction Option Explicit intercepte non seulement les variables non déclarées mais aussi les chaînes non mises entre guillemets. Ainsi, le code
Option Explicit
Dim strComputer
strComputer = PC1
entraîne un message d’erreur Variable is
Option Explicit
![Option Explicit Option Explicit](https://www.itpro.fr/wp-content/uploads/2015/08/de84ee2e92b404f0a895d702a9288ec0.jpg)
undefined parce que le moteur de scripting interprète PC1 comme une variable et non comme une chaîne, du fait de l’absence de guillemets. Si vous omettez l’instruction Option Explicit dans le code précédent, ce qui donne
Dim strComputer
strComputer = PC1
WScript.Echo strComputer
il n’y a pas d’erreur. Le moteur de scripting suppose dans ce cas l’existence de deux variables : strComputer et PC1. Et donc, au lieu de considérer le signe égal (=) comme un opérateur d’assignation, et donc d’assigner la valeur de PC1 à la variable strComputer, le moteur de scripting lit = comme l’opérateur égal à et rend la variable strComputer égale à la variable PC1.
Les variables peuvent poser d’autres problèmes. Avezvous déjà reçu un message d’erreur Type mismatch ou Name redefined ? Voyons ce qui cause ces erreurs liées aux variables et quelques autres. Expected end of statement (1025). Quand un nom de variable contient un point imbriqué, vous recevez le message Expected end of statement. Ce message d’erreur peut aussi résulter d’autres erreurs, comme l’utilisation involontaire d’une virgule au lieu d’un point dans un nom d’objet. Type mismatch (13). Si vous essayez d’effectuer une opération en utilisant des variables dont le contenu n’est pas approprié pour cette opération, vous recevez le message d’erreur Type mismatch. Ainsi, le code
Option explicit
Dim A, B, C, D
A = 25
B = 105
C = "Combined weight: "
D = A + C
VBScript.Echo C & D
produit le message d’erreur Type mismatch parce qu’il essaie d’ajouter une chaîne à un nombre.
Dans son article « Quick Scripting Tips », Christa Anderson vous recommande de « nommer les variables d’après le genre de données qu’elles représentent (par exemple, donner des noms de chaînes qui commencent par la lettre c et des noms d’objets qui commencent par un o). Cette pratique facilite le débogage du code. Certaines expressions ne fonctionneront pas ou fonctionneront de manière différente avec des données d’un type inattendu. Et si vous savez quel type de données vous avez l’intention de fournir à un script, il est plus facile de démêler les erreurs de discordance de type ». La section VBScript Coging Conventions dans le fichier d’aide Windows Script (WS) 5.6 (script56.chm) contient une liste de préfixes recommandés pour des variables. Ainsi, si vous ajoutez les préfixes recommandés au code précédent pour obtenir
Option Explicit
Dim intA, intB, strC, intD
intA = 25
intB = 105
intC = "Combined weight: "
intD = intA + strC
VBScript.Echo strC & intD
il est probable que vous constaterez immédiatement l’erreur et que vous remplacerez strC par IntB dans la sixième ligne. Name redefined (1041). Le message d’erreur Name redefined indique qu’un nom de variable n’est pas unique. Le plus simple pour éviter cette erreur est d’utiliser des noms de variables significatifs. Par exemple, au lieu de intA, intB et strC et intD, il vaut mieux choisir les noms intMiniesWeight, IntBrutusWeight, strLabel et IntBothDogsWeight, respectivement. Cette liste de messages d’erreur n’est nullement exhaustive.
Il est probable que vous en rencontrerez beaucoup d’autres types. L’encadré « Autres ressources » recense plusieurs ressources qui traitent des messages d’erreur de scripting courants.
Téléchargez cette ressource
![Phishing : Match PKI Versus MFA](https://www.itpro.fr/wp-content/uploads/2024/09/Guide-Epxerts-iTPro.fr-MFA-versus-PKI-Cybersecurity-expert.jpg)
Phishing : Match PKI Versus MFA
Au-delà des technologies de protection, les entreprises doivent s’appuyer sur des plateformes qui englobent tous les défis cyber liés à l’authentification des personnes et des machines, quels sont les avantages d’une Infrastructure à Clé Publique (PKI) vis-à-vis de la MFA ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA : les PME devraient adopter des outils NoCode appropriés
- Guide des certifications Microsoft
- Transition vers le Cloud : l’approche stratégique pour répondre aux exigences de cybersécurité NIS 2
- Vers une meilleure qualité de données : l’IA vient en renfort
- Stimuler l’innovation durable grâce à la transformation numérique et aux principes ESG
![Revue Smart DSI](https://www.itpro.fr/wp-content/uploads/2024/07/SMART-DSI-Numero-34-Juin-2024.jpg)