VBScript

Guide de l'utilisateur VBScipt

Référence du langage VBScript

Notions de base sur FileSystemObject

Référence d'exécution de Script

©2000 Microsoft Corporation. Tous droits réservés.


Guide de l'utilisateur VBScript

Qu'est-ce que VBScript ?

Ajout de code VBScript dans une page HTML

Notions de base sur VBScript

Types de données de VBScript

Variables de VBScript

Constantes de VBScript

Opérateurs de VBScript

Utilisation des instructions conditionnelles

Boucles de répétition du code

Procédures de VBScript

Conventions de codage de VBScript

Utilisation de VBScript dans Internet Explorer

Une page VBScript simple

VBScript et les feuilles

Utilisation de VBScript avec des objets


Qu'est-ce que VBScript ?

Microsoft Visual Basic Scripting Edition, le dernier membre de la famille de langages de programmation Visual Basic, permet d'utiliser des scripts actifs dans de nombreux environnements, comme les scripts clients dans Microsoft Internet Explorer et les scripts de serveur Web dans Microsoft Internet Information Service.

Facile à utiliser et à apprendre

Si vous connaissez déjà Visual Basic ou Visual Basic pour Applications, l'utilisation de VBScript sera un jeu d'enfant. Si vous ne connaissez pas Visual Basic, l'apprentissage des concepts de VBScript constitue un premier pas vers la programmation avec l'ensemble des langages de la famille Visual Basic. Bien que ces quelques pages Web puissent vous apprendre VBScript, elles ne vous enseigneront pas la programmation. Pour apprendre la programmation, reportez-vous à Step by Step, publié par Microsoft Press.

Les scripts ActiveX actifs

VBScript parle aux applications hôtes qui utilisent ActiveX™ Scripting. Avec ActiveX Scripting, les navigateurs et les autres applications hôtes ne nécessitent pas de code d'intégration spécial pour chaque composant de script. ActiveX Scripting permet à un hôte de compiler les scripts, d'obtenir et d'appeler des points d'entrée et de gérer l'espace de nom disponible au développeur. Avec ActiveX Scripting, les fournisseurs de langages peuvent créer des exécutables de langage standard pour les scripts. Microsoft assurera le support des exécutables pour VBScript. Microsoft collabore avec différents acteurs d'Internet pour définir le standard ActiveX Scripting afin que les moteurs de script soient interchangeables. ActiveX Scripting est utilisé dans Microsoft® Internet Explorer et dans Microsoft® Internet Information Service.

VBScript dans d'autres applications et navigateurs

En tant que développeur, vous pouvez bénéficier d'une licence gratuite d'implémentation de la source VBScript dans vos produits. Microsoft fournit les implémentations binaires de VBScript pour l'API Windows® 32 bits, l'API Windows 16 bits et Macintosh®. VBScript est intégré aux navigateurs Web. VBScript et ActiveX Scripting sont également utilisables comme langage de script dans d'autres applications.


Ajout de code VBScript dans une page HTML

Vous pouvez utiliser l'élément SCRIPT pour ajouter du code VBScript dans une page HTML.

Balise <SCRIPT>

Le code VBScript est encadré par des balises <SCRIPT>. Voici un exemple de procédure qui teste une date de livraison :

<SCRIPT LANGUAGE="VBScript">
<!--
   Function LivraisonPossible(Dt)
      LivraisonPossible = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>

Le code est encadré par des balises <SCRIPT> de début et de fin. L'attribut LANGUAGE indique le langage de script. Vous devez spécifier le langage car les navigateurs peuvent utiliser d'autres langages de script. Remarquez que la fonction Livraison est encadrée par des balises de commentaire (<!-- et -->). Ainsi, les navigateurs qui ne comprennent par la balise <SCRIPT> n'affichent pas le code.

Comme l'exemple représente une fonction générale — elle n'est pas liée à un contrôle particulier d'une feuille — vous pouvez la placer dans la section HEAD de la page :

<HTML>
<HEAD>
<TITLE>Passez votre commande</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
   Function LivraisonPossible(Dt)
      LivraisonPossible = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>
</HEAD>
<BODY>
...

Vous pouvez utiliser des blocs SCRIPT n'importe où dans une page HTML, par exemple, dans la section BODY ou la section HEAD. Toutefois, nous vous conseillons de placer tout le code d'usage commun dans la section HEAD. Ainsi, vous êtes sûr qu'il sera lu et décodé avant d'être appelé depuis la section BODY.

Exception à cette règle : lorsque vous voulez fournir du code de script en ligne au sein des feuilles pour répondre aux événements des objets de la feuille. Par exemple, vous pouvez incorporer du code de script pour répondre à un clic de bouton dans une feuille :

<HTML>
<HEAD>
<TITLE>Tester les événements de bouton</TITLE>
</HEAD>
<BODY>
<FORM NAME="Feuille1">
   <INPUT TYPE="Button" NAME="Bouton1" VALUE="Clic">
   <SCRIPT FOR="Bouton1" EVENT="onClick" LANGUAGE="VBScript">
      MsgBox "Bouton cliqué!"
   </SCRIPT>
</FORM>
</BODY>
</HTML>

La plus grande partie de votre code apparaîtra dans des procédures Sub ou Function et sera appelée uniquement quand elle sera spécifiée par votre code. Toutefois, vous pouvez placer du code en dehors des procédures mais toujours dans un bloc SCRIPT. Ce code s'exécute une seule fois, au chargement de la page HTML. Ceci vous permet d'initialiser des données ou de changer dynamiquement la présentation de votre page Web lors de son chargement.


Notions de base sur VBScript

Types de données de VBScript

Variables de VBScript

Constantes de VBScript

Opérateurs de VBScript

Utilisation des instructions conditionnelles

Boucles de répétition du code

Procédures de VBScript

Conventions de codage de VBScript


Types de données de VBScript

VBScript comprend un seul type de données nommé Variant. Un Variant est un type de données spécial qui peut contenir différents types d'information, en fonction de son utilisation. Parce que le Variant est le seul type de données de VBScript, c'est aussi le type de données renvoyé par toutes les fonctions de VBScript.

À la base, un Variant peut contenir soit des informations numériques soit des informations de type chaîne de caractères. Un Variant se comporte comme un nombre lorsqu'il est utilisé dans un contexte numérique et comme une chaîne lorsqu'il est utilisé dans un contexte de chaîne. Si vous travaillez avec des données qui ressemblent à des nombres, VBScript suppose qu'il s'agit de nombres et agit de façon appropriée. De même, si vous travaillez avec des données qui ne peuvent être que des chaînes, VBScript les traitent comme des chaînes. Vous pouvez toujours traiter les nombres comme des chaînes en les encadrant avec des guillemets (" ").

Sous-types Variant

Au-delà de la simple distinction nombre/chaîne, un Variant peut distinguer différents types d'information numérique. Par exemple, certaines informations numériques représentent une date ou une heure. Lorsque ces informations sont utilisées avec d'autres données de date ou d'heure, le résultat est toujours exprimé sous la forme d'une date ou d'une heure. Vous disposez aussi d'autres types d'information numérique, des valeurs booléennes jusqu'aux grands nombres à virgule flottante. Ces différentes catégories d'information qui peuvent être contenues dans un Variant sont des sous-types. Dans la plupart des cas, vous placez simplement vos données dans un Variant et celui-ci se comporte de la façon la plus appropriée en fonction de ces données.

Le tableau suivant présente différents sous-types susceptibles d'être contenus dans un Variant.

Sous-type | Description
Empty | Le Variant n'est pas initialisé. Sa valeur est égale à zéro pour les variables numériques et à une chaîne de longueur nulle ("") pour les variables chaîne.
Null | Le Variant contient intentionnellement des données incorrectes.
Boolean | Contient True (vrai) ou False (faux).
Byte | Contient un entier de 0 à 255.
Integer | Contient un entier de -32 768 à 32 767.
Currency | -922 337 203 685 477,5808 à 922 337 203 685 477,5807.
Long | Contient un entier de -2 147 483 648 à 2 147 483 647.
Single | Contient un nombre à virgule flottante en précision simple de -3,402823E38 à -1,401298E-45 pour les valeurs négatives ; de 1,401298E-45 à 3,402823E38 pour les valeurs positives.
Double | Contient un nombre à virgule flottante en précision double de -1,79769313486232E308 à -4,94065645841247E-324 pour les valeurs négatives ; de 4,94065645841247E-324 à 1,79769313486232E308 pour les valeurs positives.
Date (Time) | Contient un nombre qui représente une date entre le 1er janvier 100 et le 31 décembre 9999.
String | Contient une chaîne de longueur variable limitée à environ 2 milliards de caractères.
Object | Contient un objet.
Error | Contient un numéro d'erreur.

Vous pouvez utiliser des fonctions de conversion pour convertir les données d'un sous-type vers un autre. En outre, la fonction VarType renvoie des informations sur la façon dont vos données sont stockées dans un Variant.


Variables de VBScript

Une variable est un symbole pratique qui fait référence à un emplacement en mémoire où vous stockez des informations du programme pouvant varier au cours de l'exécution du script. Par exemple, vous pouvez créer une variable que vous nommez NbClics pour stocker le nombre de fois qu'un utilisateur clique sur un objet d'une page Web particulière. L'endroit où se trouve effectivement la variable dans la mémoire de l'ordinateur est sans importance. Ce qui compte, c'est le nom de la variable grâce auquel vous pouvez lire ou modifier sa valeur. Dans VBScript, les variables appartiennent toujours à un type de données fondamental : Variant.

Déclaration des variables

Vous déclarez des variables explicitement dans votre script par l'intermédiaire des instructions Dim, Public et Private. Par exemple :

 Dim DegrésFahrenheit

Vous pouvez déclarer plusieurs variables en séparant leur nom par une virgule. Par exemple :

 Dim Haut, Bas, Gauche, Droite

Vous pouvez aussi déclarer une variable implicitement en utilisant simplement son nom dans votre script. Toutefois, cette technique n'est pas vraiment recommandée car une seule faute de syntaxe dans le nom de la variable peut donner des résultats incorrects à l'exécution. Pour cette raison, utilisez l'instruction Option Explicit pour rendre obligatoire la déclaration explicite des variables. L'instruction Option Explicit doit être la première de votre script.

Restrictions de notation

Les noms de variable suivent les règles de dénomination standard de VBScript. Un nom de variable :

  • doit commencer par un caractère alphabétique,
  • ne peut pas contenir de point,
  • ne doit pas excéder 255 caractères,
  • doit être unique à l'intérieur de la même portée.

Portée et durée de vie des variables

La portée d'une variable dépend de l'endroit où elle est déclarée. Lorsque vous déclarez une variable dans une procédure, seul le code de cette procédure peut lire ou modifier la valeur de cette variable. Elle a une portée locale et elle est désignée comme variable de niveau procédure. Si vous déclarez une variable en dehors d'une procédure, elle peut être reconnue par toutes les procédures de votre script. C'est alors une variable de niveau script, et sa portée est l'ensemble du script.

La période d'existence d'une variable dépend de sa durée de vie. La durée de vie d'une variable de niveau script s'étend de la déclaration de la variable à la fin de l'exécution du script. Au niveau procédure, une variable existe tant que la procédure est en cours. À la fin de la procédure, la variable est détruite. Les variables locales sont idéales pour les stockages temporaires de la procédure. Les mêmes noms de variables locales sont utilisables dans des procédures différentes parce que chacun n'est visible que dans sa procédure de déclaration.

Affectation de valeurs aux variables

Vous affectez une valeur à une variable en créant une expression de la forme suivante : la variable figure du côté gauche de l'expression et la valeur à affecter se trouve du côté droit. Par exemple :

 B = 200

Variables scalaires et variables tableau

La plupart du temps, vous voulez simplement affecter une valeur à une variable que vous avez déclarée. Une variable contenant une valeur unique est une variable scalaire. Dans d'autres cas, il est pratique d'affecter plusieurs valeurs liées à une variable unique. Vous créez alors une variable contenant une série de valeurs. Dans ce cas, il s'agit d'une variable tableau. Les variables tableau et les variables scalaires sont déclarées de la même façon, sauf que la déclaration d'une variable tableau fait suivre le nom de la variable de parenthèses (). Dans l'exemple ci-dessous, on déclare un tableau à une dimension contenant 11 éléments :

 Dim A(10)

Bien que le nombre entre parenthèses indique 10, ce tableau contient en fait 11 éléments car, dans VBScript, tous les tableaux commencent à zéro. Dans un tableau à base zéro, le nombre d'éléments correspond toujours au nombre entre parenthèses plus un. La taille de ce tableau est fixe.

Vous affectez les données à chaque élément en utilisant un index dans le tableau. En commençant à zéro et en finissant à 10, l'affectation des données aux éléments se présente comme suit :

 A(0) = 256
 A(1) = 324
 A(2) = 100
  . . .
 A(10) = 55

De la même façon, vous lisez les données d'un élément particulier du tableau grâce à son index. Par exemple :

 . . .
 UneVariable = A(8)
 . . .

Les tableaux ne sont pas limités à une seule dimension. Vous pouvez avoir jusqu'à 60 dimensions bien que la plupart des utilisateurs ne puissent comprendre un tableau de plus de trois ou quatre dimensions. Vous pouvez déclarer plusieurs dimensions en séparant à l'intérieur des parenthèses des nombres représentant leur taille. Dans l'exemple ci-dessous, la variable MaTable est un tableau à deux dimensions constitué de 6 lignes et 11 colonnes :

 Dim MaTable(5, 10)

Dans les tableaux à deux dimensions, le premier nombre est le nombre de lignes, le second est le nombre de colonnes.

Vous pouvez aussi déclarer un tableau dont la taille change au cours de l'exécution du script. Il s'agit alors d'un tableau dynamique. Ce tableau est initialement déclaré au sein d'une procédure en utilisant l'instruction Dim ou l'instruction ReDim. Toutefois, pour un tableau dynamique, la taille et le nombre de dimensions ne figurent pas entre parenthèses. Par exemple :

 Dim MonTableau()
 ReDim UnAutreTableau()

Pour utiliser un tableau dynamique, vous devez employer ReDim pour déterminer le nombre de dimensions et la taille de chaque dimension. Dans l'exemple ci-dessous, ReDim définit la taille initiale du tableau dynamique à 25. Une instruction ReDim suivante redimensionne le tableau à 30 mais utilise le mot clé Preserve pour préserver le contenu du tableau pendant l'opération.

 ReDim MonTableau(25)
 . . .
 ReDim Preserve MonTableau(30)

Le nombre de redimensionnements d'un tableau n'est pas limité mais lorsque vous réduisez sa taille, vous perdez les données correspondant aux éléments supprimés.


Constantes de VBScript

Une constante est un nom significatif qui symbolise un nombre ou une chaîne invariable. VBScript définit un certain nombre de constantes intrinsèques. Pour d'autres informations sur ces constantes intrinsèques, reportez-vous à la Référence du langage VBScript.

Création de constantes

Vous pouvez créer dans VBScript des constantes utilisateur par l'intermédiaire de l'instruction Const. L'instruction Const vous permet de créer des constantes de chaîne ou numériques avec des noms significatifs et de leur affecter une valeur. Par exemple :

Const MaChaîne = "Ceci est ma chaîne."
Const MonAge = 49

Remarquez que la chaîne de caractères est encadrée par des guillemets (" "). Les guillemets constituent le moyen le plus évident de différencier les valeurs chaîne des valeurs numériques. Vous représentez les littéraux de date et les littéraux d'heure en les encadrant par des caractères dièse (#). Par exemple :

Const DateFinale = #6-1-97#

Il est judicieux d'adopter une convention de notation pour différencier les constantes des variables. Vous évitez ainsi de tenter d'affecter une valeur à une constante au cours de l'exécution de votre script. Par exemple, vous pouvez utiliser un préfixe "vb" ou "con" pour nommer vos constantes, ou les saisir complètement en majuscules. Différencier clairement les constantes des variables élimine les confusions lorsque les scripts deviennent plus complexes.


Opérateurs de VBScript

VBScript comprend une gamme complète d'opérateurs : opérateurs arithmétiques, opérateurs de comparaison, opérateurs de concaténation et opérateurs logiques.

Priorité des opérateurs

Lorsqu'une expression contient plusieurs opérations, chaque partie est évaluée et résolue dans un ordre prédéterminé appelé priorité des opérateurs. Vous pouvez utiliser des parenthèses pour modifier l'ordre de priorité et forcer l'évaluation de certaines parties d'une expression avant d'autres. Les opérations à l'intérieur des parenthèses sont toujours évaluées avant celles à l'extérieur. Toutefois, à l'intérieur des parenthèses, les priorités d'opérateurs reprennent leurs droits.

Lorsque des expressions contiennent des opérateurs de plusieurs catégories, les opérateurs arithmétiques sont évalués en premier, suivis des opérateurs de comparaison, puis des opérateurs logiques. Les opérateurs de comparaison ont tous la même priorité ; ils sont donc évalués de gauche à droite. Les opérateurs arithmétiques et logiques sont évalués dans l'ordre suivant :

Arithmétique |  | Comparaison |  | Logique |
Description | Symbole | Description | Symbole | Description | Symbole
Élévation à une puissance | ^ | Égalité | = | Négation logique | Not
Négation unaire | - | Différence | <> | Conjonction logique | And
Multiplication | * | Inférieur à | < | Disjonction logique | Or
Division | / | Supérieur à | > | Exclusion logique | Xor
Division entière | \ | Inférieur ou égal à | <= | Équivalence logique | Eqv
Modulo arithmétique | Mod | Supérieur ou égal à | >= | Implication logique | Imp
Addition | + | Équivalence d'objet | Is |  |
Soustraction | - |  |  |  |
Concaténation de chaînes | & |  |  |  |

Lorsqu'une expression contient des multiplications et des divisions, chaque opération est évaluée dans son ordre d'occurrence, de gauche à droite. De même, lorsqu'une expression contient additions et soustractions, chaque opération est évaluée dans son ordre d'occurrence, de gauche à droite.

L'opérateur de concaténation de chaîne (&) n'est pas un opérateur arithmétique mais sa priorité est inférieure à celle des opérateurs arithmétiques et supérieure à celle des options de comparaison. L'opérateur Is est un opérateur de comparaison de référence d'objet. Il ne compare pas les objets ou leur valeur ; il détermine si deux références d'objet font référence au même objet.


Utilisation des instructions conditionnelles

Contrôle de l'exécution du programme

Vous pouvez contrôler le déroulement de votre script à l'aide d'instructions conditionnelles et d'instructions de boucle. Les instructions conditionnelles vous permettent d'écrire du code VBScript qui prend des décisions et répète des actions. Les instructions conditionnelles suivantes sont disponibles dans VBScript :

  • Instruction If...Then...Else
  • Instruction Select Case

Prises de décision avec If...Then...Else

L'instruction If...Then...Else vous permet d'évaluer si une condition a pour valeur True (vraie) ou False (fausse) et, en fonction du résultat, de spécifier une ou plusieurs instructions à exécuter. En général, la condition est une expression qui utilise un opérateur de comparaison pour comparer une valeur ou une variable avec une autre. Pour des informations sur les opérateurs de comparaison, reportez-vous à Opérateurs de comparaison. Il est possible d'imbriquer les instructions If...Then...Else sur autant de niveaux que nécessaire.

Exécution d'instructions si une condition a pour valeur True (vraie)

Pour exécuter une seule instruction lorsqu'une condition a pour valeur True, utilisez la syntaxe monoligne de l'instruction If...Then...Else. L'exemple ci-dessous présente la syntaxe monoligne. Remarquez que cet exemple ne comporte pas le mot clé Else.

Sub MajDate()
    Dim maDate
    maDate = #2/13/95#
    If maDate < Now Then maDate = Now
End Sub

Pour exécuter plusieurs lignes de code, vous devez utiliser la syntaxe multiligne (ou syntaxe de bloc). Cette syntaxe comprend l'instruction End If comme le montre l'illustration ci-dessous :

Sub AlerterUtilisateur(value)
   If value = 0 Then
      AlertLabel.ForeColor = vbRed
      AlertLabel.Font.Bold = True
      AlertLabel.Font.Italic = True
   End If
End Sub

Exécution de certaines instructions si une condition a pour valeur True et exécution d'autres instructions si une condition a pour valeur False

Vous pouvez utiliser l'instruction If...Then...Else pour définir deux blocs d'instructions exécutables : un bloc à exécuter si la condition a pour valeur True, et un autre bloc à exécuter si la condition a pour valeur False.

Sub AlerterUtilisateur(valeur)
   If valeur = 0 Then
      AlertLabel.ForeColor = vbRed
      AlertLabel.Font.Bold = True
      AlertLabel.Font.Italic = True
   Else
      AlertLabel.Forecolor = vbBlack
      AlertLabel.Font.Bold = False
      AlertLabel.Font.Italic = False
   End If
End Sub

Choisir entre plusieurs alternatives

Une variante de l'instruction If...Then...Else vous permet de choisir entre plusieurs alternatives. L'ajout de clauses ElseIf étend la fonctionnalité de l'instruction If...Then...Else pour vous permettre de contrôler le déroulement du programme en fonction de différentes possibilités. Par exemple :

Sub AfficherValeur(value)
   If value = 0 Then
      MsgBox valeur
   ElseIf value = 1 Then
       MsgBox valeur
   ElseIf value = 2 Then
      Msgbox valeur
   Else
      Msgbox "Valeur hors limites!"
   End If

Vous pouvez ajouter autant de clauses ElseIf que nécessaire pour créer des alternatives. Mais une utilisation extensive des clauses ElseIf peut devenir complexe. L'instruction Select Case constitue le meilleur moyen de choisir entre plusieurs alternatives.

Prises de décision avec Select Case

La structure Select Case offre une alternative à If...Then...ElseIf pour exécuter de façon sélective un bloc d'instructions parmi plusieurs. Une instruction Select Case offre les mêmes possibilités que If...Then...Else, mais rend le code plus efficace et plus lisible.

Une structure Select Case fonctionne avec une seule expression de test, évaluée une fois, au début de la structure. Le résultat de l'expression est ensuite comparé avec les valeurs de chaque bloc Case de la structure. Lorsqu'il y a correspondance, le bloc d'instructions Case concerné s'exécute, comme l'illustre l'exemple suivant.

 Select Case Document.Form1.CardType.Options(SelectedIndex).Text
   Case "MasterCard"
      AfficherLogoMC
      ValiderCompteMC
   Case "Visa"
      AfficherLogoVisa
      ValiderCompteVisa
   Case "American Express"
      AfficherLogoAMEXCO
      ValiderCompteAMEXCO
   Case Else
      AfficherInconnue
      Redemander
End Select

Remarquez que la structure Select Case évalue l'expression une fois au début de la structure. Par contre, la structure If...Then...ElseIf peut évaluer une expression différente pour chaque instruction ElseIf. Vous pouvez remplacer une structure If...Then...ElseIf par une structure Select Case uniquement si chaque instruction ElseIf évalue la même expression.


Boucles de répétition du code

Les boucles vous permettent de répéter l'exécution d'un groupe d'instructions. Certaines boucles répètent les instructions jusqu'à ce qu'une condition ait pour valeur False (fausse) ; d'autres répètent les instructions jusqu'à ce qu'une condition ait pour valeur True (vraie). Il existe aussi des boucles qui répètent des instructions un nombre de fois spécifié.

Les instructions de boucle suivantes sont disponibles dans VBScript :

  • Do...Loop : effectue une boucle tant qu'une condition est True ou jusqu'à ce qu'elle le devienne.
  • While...Wend : effectue une boucle tant qu'une condition a pour valeur True.
  • For...Next : utilise un compteur pour exécuter des instructions un nombre de fois spécifié.
  • For Each...Next : répète un groupe d'instructions pour chaque élément d'une collection ou pour chaque élément d'un tableau.

Utilisation des boucles Do

Vous pouvez utiliser les instructions Do...Loop pour exécuter un bloc d'instructions un nombre de fois indéfini. Les instructions sont répétées tant qu'une condition a pour valeur True ou jusqu'à ce qu'elle ait pour valeur True.

Répétition d'instructions tant qu'une condition a pour valeur True

Utilisez le mot clé While pour contrôler une condition dans une instruction Do...Loop. Vous pouvez contrôler la condition avant d'entrer dans la boucle (comme dans l'exemple CtrlPremierWhile suivant) ou après que la boucle se soit exécutée au moins une fois (comme dans l'exemple CtrlDernierWhile suivant). Dans la procédure CtrlPremierWhile, si monNum a pour valeur 0 au lieu de 20, les instructions à l'intérieur de la boucle ne s'exécuteront jamais. Dans la procédure CtrlDernierWhile, les instructions à l'intérieur de la boucle s'exécutent une seule fois parce que la condition a déjà pour valeur False.

Sub CtrlPremierWhile()
   Dim compteur, monNum
   compteur = 0
   monNum = 20
   Do While monNum > 10
      monNum = monNum - 1
      compteur = compteur + 1
   Loop
   MsgBox "La boucle a effectué " & compteur & " répétitions."
End Sub

Sub CtrlDernierWhile()
   Dim compteur, monNum
   compteur = 0
   monNum = 9
   Do
      monNum = monNum - 1
      compteur = compteur + 1
   Loop While monNum > 10
   MsgBox "La boucle a effectué " & compteur & " répétitions."
End Sub

Répétition d'instructions jusqu'à ce qu'une condition prenne la valeur True

Il existe deux façons d'utiliser le mot clé Until pour contrôler une condition dans une instruction Do...Loop. Vous pouvez contrôler la condition avant d'entrer dans la boucle (comme dans l'exemple CtrlPremierUntil suivant) ou après que la boucle se soit exécutée au moins une fois (comme dans l'exemple CtrlDernierUntil suivant). La boucle est effective tant que la condition a pour valeur False.

Sub CtrlPremierUntil()
   Dim compteur, monNum
   compteur = 0
   monNum = 20
   Do Until monNum = 10
      monNum = monNum - 1
      compteur = compteur + 1
   Loop
   MsgBox "La boucle a effectué " & compteur & " répétitions."
End Sub

Sub CtrlDernierUntil()
   Dim compteur, monNum
   compteur = 0
   monNum = 1
   Do
      monNum = monNum + 1
      compteur = compteur + 1
   Loop Until monNum = 10
   MsgBox "La boucle a effectué " & compteur & " répétitions."
End Sub

Sortie d'une instruction Do...Loop dans une boucle

Vous pouvez sortir d'une boucle Do...Loop en utilisant l'instruction Exit Do. En règle générale, vous ne sortez d'une boucle que dans des situations particulières (pour éviter une boucle infinie, par exemple). Dans ce cas, vous devez utiliser l'instruction Exit Do uniquement dans le bloc d'instructions True d'une instruction If...Then...Else. Si la condition a pour valeur False, la boucle s'exécute normalement.

Dans l'exemple ci-dessous, monNum reçoit une valeur qui crée une boucle infinie. L'instruction If...Then...Else contrôle cette condition afin de prévenir une répétition infinie.

Sub ExempleDeSortie()
      Dim compteur, monNum
      compteur = 0
      monNum = 9
      Do Until monNum = 10
         monNum = monNum - 1
         compteur = compteur + 1
         If monNum < 10 Then Exit Do
      Loop
      MsgBox "La boucle a effectué " & compteur & " répétitions."
End Sub

Utilisation de While...Wend

L'instruction While...Wend figure dans VBScript à l'intention des utilisateurs avertis. Cependant, en raison du manque de souplesse de While...Wend, il est recommandé d'utiliser plutôt Do...Loop.

Utilisation de For...Next

Vous pouvez utiliser les instructions For...Next pour exécuter un bloc d'instructions un nombre de fois spécifié. Pour les boucles, utilisez une variable compteur dont la valeur augmente ou diminue à chaque répétition de la boucle.

Dans l'exemple ci-dessous, la procédure MaProc s'exécute 50 fois. L'instruction For spécifie la variable compteur x et ses valeurs de début et de fin. L'instruction Next incrémente la variable compteur de 1.

Sub ExecMaProc50fois()
   Dim x
   For x = 1 To 50
      MaProc
   Next
End Sub

Grâce au mot clé Step, vous pouvez spécifier la valeur d'incrémentation ou de décrémentation de la variable. Dans l'exemple ci-dessous, la variable compteur j est incrémentée de 2 à chaque itération de la boucle. Lorsque la boucle se termine, le total est la somme de 2, 4, 6, 8 et 10.

 Sub TotalDes2()
   Dim j, total
   For j = 2 To 10 Step 2
      total = total + j
   Next
   MsgBox "Le total est " & total
End Sub

Pour décrémenter la variable compteur, utilisez une valeur de Step négative. Vous spécifiez alors une valeur de fin inférieure à la valeur de départ. Dans l'exemple ci-dessous, la variable compteur monNum est décrémentée de 2 à chaque itération de la boucle. Lorsque la boucle se termine, le total est la somme de 16, 14, 12, 10, 8, 6, 4 et 2.

Sub NouveauTotal()
   Dim monNum, total
   For monNum = 16 To 2 Step -2
      total = total + monNum
   Next
   MsgBox "Le total est " & total
End Sub

Vous pouvez quitter une instruction For...Next avant que le compteur atteigne sa valeur de fin en utilisant l'instruction Exit For. En règle générale, vous ne sortez d'une boucle que dans des situations particulières. En cas d'erreur par exemple, vous devez utiliser l'instruction Exit For uniquement dans le bloc d'instructions True d'une instruction If...Then...Else. Si la condition a pour valeur False, la boucle s'exécute normalement.

Utilisation de For Each...Next

Une boucle For Each...Next ressemble à une boucle For...Next. Au lieu de répéter un groupe d'instructions un nombre de fois spécifié, une boucle For Each...Next le répète pour chaque élément d'une collection d'objets ou d'un tableau. Ceci s'avère particulièrement utile lorsque vous ne connaissez pas le nombre d'éléments d'une collection.

Dans l'exemple de code HTML suivant, le contenu d'un objet Dictionary est utilisé pour placer du texte dans plusieurs boîtes de texte.

 <HTML>
 <HEAD><TITLE>Feuilles et éléments</TITLE></HEAD>
 <SCRIPT LANGUAGE="VBScript">
 <!--
 Sub cmdChanger_OnClick
   Dim d   'Créer une variable
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "0", "Athènes"     'Ajouter des clés et des éléments
   d.Add "1", "Belgrade"
   d.Add "2", "Le Caire"

    For Each I in d
      Document.frmForm.Elements(I).Value = D.Item(I)
   Next
End Sub
 -->
 </SCRIPT>
 <BODY>
 <CENTER>
 <FORM NAME="frmForm"

 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Text"><p>
 <Input Type = "Button" NAME="cmdChanger" VALUE="Cliquez ici"><p>
 </FORM>
 </CENTER>
 </BODY>
 </HTML>


Procédures de VBScript

Dans VBScript, il existe deux types de procédures : la procédure Sub et la procédure Function.

Procédures Sub

Une procédure Sub est une série d'instructions VBScript, encadrée par les instructions Sub et End Sub, qui effectue des actions mais ne renvoie pas de valeur. Une procédure Sub peut accepter des arguments (constantes, variables ou expressions transmises par une procédure appelante). Si une procédure Sub n'a pas d'arguments, son instruction Sub doit présenter une paire de parenthèses vide.

La procédure Sub suivante utilise deux fonctions VBScript intrinsèques, ou intégrées, MsgBox et InputBox, pour demander des informations à l'utilisateur. Elle affiche ensuite les résultats d'un calcul basé sur ces informations. Le calcul est effectué dans une procédure Function créée à l'aide de VBScript. La procédure Function est présentée dans le prochain paragraphe.

Sub ConvertTemp()
   temp = InputBox("Veuillez entrer la température en degrés F.", 1)
   MsgBox "La température est de " & Celsius(temp) & " degrés C."
End Sub

Procédures Function

Une procédure Function est une série d'instructions VBScript encadrée par les instructions Function et End Function. Une procédure Function est semblable à une procédure Sub mais peut renvoyer une valeur. Une procédure Function peut accepter des arguments (constantes, variables ou expressions transmises par une procédure appelante). Si une procédure Function n'a pas d'arguments, son instruction Function doit présenter une paire de parenthèses vide. Une procédure Function renvoie une valeur en affectant une valeur à son nom dans une ou plusieurs instructions de la procédure. Le type du retour d'une Function est toujours Variant.

Dans l'exemple ci-dessous, la fonction Celsius calcule les degrés Celsius à partir des degrés Fahrenheit. Lorsque la fonction est appelée à partir de la procédure Sub ConvertTemp, une variable contenant la valeur argument lui est transmise. Le résultat du calcul est renvoyé à la procédure appelante et affiché dans une boîte de message.

Sub ConvertTemp()
   temp = InputBox("Veuillez entrer la température en degrés F.", 1)
   MsgBox "La température est de " & Celsius(temp) & " degrés C."
End Sub

Function Celsius(degrésF)
   Celsius = (degrésF - 32) * 5 / 9
End Function

Échange des données avec les procédures

Chaque élément de données est transmis à vos procédures par l'intermédiaire d'un argument. Les arguments servent de symboles aux données que vous voulez transmettre à la procédure. Vous pouvez nommer vos arguments de la même manière que vous nommez des variables. Lorsque vous créez une procédure par une instruction Sub ou une instruction Function, les parenthèses doivent figurer après le nom de la procédure. Les arguments éventuels figurent entre ces parenthèses, séparés par des virgules. Par exemple, dans l'exemple suivant degrésF symbolise la valeur transmise à la fonction Celsius pour conversion.

Function Celsius(degrésF)
   Celsius = (degrésF - 32) * 5 / 9
End Function

Pour récupérer les données d'une procédure, vous devez utiliser une Function. Une procédure Function peut renvoyer une valeur, une procédure Sub ne le peut pas.

Utilisation des procédures Sub et Function dans le code

Dans votre code, une Function doit toujours apparaître à droite d'une affectation de variable ou dans une expression. Par exemple :

 Temp = Celsius(degrésF)

-ou-

 MsgBox "La température est de " & Celsius(degrésF) & " degrés C."

Pour appeler une procédure Sub à partir d'une autre procédure, tapez le nom de la procédure suivi le cas échéant des valeurs arguments séparées par des virgules. L'instruction Call n'est pas obligatoire, mais si vous l'utilisez, vous devez encadrer les arguments éventuels par des parenthèses.

L'exemple ci-dessous présente deux appels à la procédure MaProc. L'un utilise l'instruction Call, l'autre non. Les deux font exactement la même chose.

 Call MaProc(arg1, arg2)
 MaProc arg1, arg2

Remarquez que les parenthèses sont omises lorsque l'instruction Call n'est pas utilisée.


Conventions de codage

Ces conventions sont des suggestions conçues pour simplifier l'écriture de code avec Microsoft Visual Basic Scripting Edition. Elles incluent notamment :

  • des conventions d'affectation de noms à des objets, des variables et des procédures,
  • des conventions de commentaire,
  • des directives de mise en forme et de mise en retrait.

L'utilisation de conventions cohérentes vise principalement à normaliser la structure et le style de codage d'un script ou d'un jeu de scripts pour rendre le code plus lisible et mieux compréhensible. L'emploi de conventions de codage appropriées permet de créer un code source clair, précis, lisible, intuitif et respectant les conventions des autres langages.

Conventions d'affectation de noms à des constantes

Les versions précédentes de VBScript n'avaient pas de mécanisme de création de constantes définies par l'utilisateur. Les constantes, si elles étaient utilisées, étaient mises en œuvre comme des variables et distinguées des autres variables grâce à une syntaxe en caractères majuscules. Les différents mots étaient séparés par le caractère de soulignement (_). Par exemple :

 MAX_LISTE_UTILISATEUR
 SAUT_DE_LIGNE

Bien que ce mécanisme soit toujours acceptable pour identifier vos constantes, vous pouvez utiliser un nouveau schéma de notation car il est possible de créer de véritables constantes avec l'instruction Const. Cette convention utilise un format mixte, dans lequel les noms de constante commencent par le préfixe "con". Par exemple :

 conVotrePropreConstante

Conventions d'affectation de noms à des variables

Pour améliorer la lisibilité et cohérence, utilisez dans votre code VBScript les préfixes présentés dans le tableau suivant, avec des noms de variable descriptifs.

Sous-type | Préfixe | Exemple
Boolean | bln | blnTrouvé
Byte | byt | bytDonnéesRaster
Date (Time) | dtm | dtmDébut
Double | dbl | dblTolérance
Error | err | errNumOrdre
Integer | int | intQuantité
Long | lng | lngDistance
Object | obj | objCourant
Single | sng | sngMoyenne
String | str | strPrénom

Portée des variables

La portée des variables doit toujours être la plus petite possible. Les variables VBScript peuvent avoir la portée suivante.

Portée | Endroit de déclaration de la variable | Visibilité
Niveau procédure | Procédure Event, Function ou Sub. | Visible dans la procédure où elle est déclarée.
Niveau script | Section HEAD d'une page HTML, hors de toute procédure. | Visible dans toutes les procédures du script.

Préfixes de portée de variable

Plus la taille du script augmente, plus il devient indispensable de pouvoir différencier rapidement la portée des variables. Un préfixe d'une lettre placé devant le préfixe de type assure cette différenciation, sans trop augmenter la taille des noms de variable.

Portée | Préfixe | Exemple
Niveau procédure | Aucun | dblVélocité
Niveau script | s | sblnCalculEnCours

Noms descriptifs de variable et de procédure

Le corps d'un nom de variable ou de procédure doit être composé de lettres minuscules et majuscules et décrire sa fonction. En outre, les noms de procédure doivent commencer par un verbe, tel que InitialiserTableau ou FermerDialogue.

Dans le cas de termes longs ou fréquemment utilisés, il est préférable d'employer des abréviations normalisées pour maintenir une longueur de nom raisonnable. Pour assurer la lisibilité du code, il est généralement préférable d'utiliser des noms de variable de moins de 32 caractères. Lors de l'emploi d'abréviations, assurez-vous que celles-ci sont cohérentes dans tout le script. Par exemple, l'utilisation aléatoire de Ctr et Compteur dans un script ou un ensemble de scripts peut créer une confusion.

Conventions d'affectation de noms à des objets

Le tableau suivant présente les conventions recommandées pour les divers objets utilisables en programmation VBScript.

Type d'objet | Préfixe | Exemple
Panneau 3D | pnl | pnlGroupe
Bouton animé | ani | aniBoîteALettre
Case à cocher | chk | chkLectureSeule
Liste modifiable, zone de liste déroulante | cbo | cboAnglais
Bouton de commande | cmd | cmdQuitter
Boîte de dialogue commune | dlg | dlgFichierOuvrir
Cadre | fra | fraLangage
Barre de défilement horizontale | hsb | hsbVolume
Image | img | imgIcône
Étiquette | lbl | lblMessageAide
Ligne | lin | linVerticale
Zone de liste | lst | lstCodesEmplois
Compteur | spn | spnPages
Zone de texte | txt | txtNom
Barre de défilement verticale | vsb | vsbVitesse
Curseur | sld | sldÉchelle

Conventions pour les commentaires dans le code

Toutes les procédures doivent commencer par un bref commentaire décrivant leur action. Cette description doit exclure les détails de mise en œuvre (techniques employées) parce que ceux-ci sont sujets à modification et pourraient imposer une gestion de commentaire inutile ou pire, devenir erronés. La mise en œuvre est décrite par le code lui-même et d'éventuels commentaires sur une ligne.

Les arguments passés à une procédure doivent être décrits lorsque leur fonction n'est pas évidente et qu'ils doivent être compris dans une plage spécifique. Les valeurs de retour des fonctions et les variables modifiées par une procédure, notamment par l'intermédiaire d'arguments de référence, doivent également être décrites au début de chaque procédure.

Les commentaires des en-têtes de procédure doivent inclure les titres de section suivants. La section suivante, "Mise en forme du code", vous présente des exemples.

Titre de section | Contenu des commentaires
Objet | Ce que fait la procédure (et non comment elle le fait).
Commentaires | Liste de variables, contrôles, ou autres éléments externes dont l'état a une incidence sur cette procédure.
Effets | Présentation de l'effet de la procédure sur les variables, contrôles ou autres éléments externes.
Entrées | Explication de tous les arguments non évidents. Entrez une ligne de commentaire distincte pour chaque argument.
Valeurs renvoyées | Explication de la valeur renvoyée.

N'oubliez pas :

  • Pour chaque déclaration de variable importante, prévoyez un commentaire sur une ligne décrivant l'utilisation.
  • Les noms des variables, contrôles et procédures doivent être clairs pour que les commentaires sur une ligne servent uniquement à fournir des détails de mise en œuvre complexe.
  • Entrez au début de votre script une présentation générale, décrivant le script, énumérant les objets, les procédures, les algorithmes, les boîtes de dialogue et les autres dépendances système. Il peut parfois être utile d'inclure un peu de pseudocode décrivant l'algorithme.

Mise en forme du code

Bien que la mise en forme doive refléter la structure logique et l'imbrication du code, il convient d'économiser au maximum l'espace écran. Voici quelques conseils à cet égard :

  • Mettez les blocs imbriqués standard en retrait de quatre espaces.
  • Mettez les commentaires généraux d'une procédure en retrait d'un espace.
  • Mettez les instructions du plus haut niveau venant après les commentaires généraux en retrait de quatre espaces, chaque bloc imbriqué étant lui-même mis en retrait de quatre espaces supplémentaires. Par exemple :
 '*********************************************************
 'Objet:   Trouve la première occurrence d'un utilisateur
 '         spécifié dans le tableau ListeUtilisateurs.
 'Entrées: strListeUtilisateurs(): liste des utilisateurs
 '         dans laquelle effectuer la recherche.
 '         strUtilisateurCible: nom de l'utilisateur à
 '         rechercher.
 'Retours: L'index de la première occurrence de
 '         strUtilisateurCible dans le tableau
 '         ListeUtilisateurs.
 '         Si l'utilisateur cible est introuvable,
 '         renvoie -1.
 '*********************************************************
 Function intChercherUtilisateur (strListeUtilisateurs(), strUtilisateurCible)
   Dim i   ' Compteur de boucle.
   Dim blnTrouvé   ' Indicateur de cible trouvée
   intChercherUtilisateur = -1
   i = 0   ' Initialiser le compteur de boucle
   Do While i <= Ubound(strListeUtilisateurs) and Not blnTrouvé
      If strListeUtilisateurs(i) = strUtilisateurCible Then
         blnTrouvé = True   ' Indicateur à True
         intChercherUtilisateur = i   ' Définir valeur retour compteur de boucle
      End If
      i = i + 1   ' Incrément compteur de boucle
   Loop
End Function


VBScript dans Internet Explorer

Une page VBScript simple

VBScript et les feuilles

Utilisation de VBScript avec des objets


Une page VBScript simple

Une page simple

Avec Microsoft® Internet Explorer, vous pouvez afficher la page produite par le code HTML ci-dessous. Si vous cliquez sur le bouton de cette page, vous verrez VBScript en action.

<HTML>
<HEAD><TITLE>Une première page simple</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Bouton1_OnClick
   MsgBox "Mirabile visu."
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>Une première page simple</H3><HR>
<FORM><INPUT NAME="Bouton1" TYPE="BUTTON" VALUE="Cliquez ici"></FORM>
</BODY>
</HTML>

Le résultat n'est pas particulièrement impressionnant : une boîte de dialogue affiche une phrase en Latin (signifiant "Remarquable à voir"). Pourtant, il se passe un certain nombre de choses.

Lorsqu'Internet Explorer lit la page, il rencontre les balises <SCRIPT>, identifie la portion de code VBScript et enregistre ce code. Lorsque vous cliquez sur le bouton, Internet Explorer relie logiquement le bouton et le code, et exécute la procédure.

La procédure Sub entre les balises <SCRIPT> est une procédure d'événement. Le nom de la procédure comprend deux parties : le nom du bouton Bouton1 (issu de l'attribut NAME de la balise <INPUT>), et un nom d'événement OnClick. Les deux parties sont liées par un caractère de soulignement (_). À chaque clic sur le bouton, Internet Explorer recherche et exécute la procédure d'événement correspondante, Bouton1_OnClick.

Internet Explorer définit les événements disponibles pour les contrôles de la feuille dans la documentation Internet Explorer Scripting Object Model, accessible à partir du site Web de Microsoft (http://www.microsoft.com) ou sur le site européen (http://www.eu.microsoft.com).

Les pages peuvent également utiliser des combinaisons de contrôles et de procédures. VBScript et les feuilles présente des interactions simples entre les contrôles.

Autres moyens de lier le code aux événements

Bien que la méthode ci-dessus soit probablement la plus simple et la plus générale, vous pouvez lier le code VBScript aux événements de deux autres façons. Internet Explorer vous permet d'ajouter de petites portions de code en ligne dans la balise qui définit le contrôle. Par exemple, la balise <INPUT> ci-dessous effectue la même opération que l'exemple de code précédent lorsque vous cliquez sur le bouton :

<INPUT NAME="Bouton1" TYPE="BUTTON"
   VALUE="Cliquez ici" OnClick='MsgBox "Mirabile visu."'>

Remarquez que l'appel à la fonction est encadré par des apostrophes et que la chaîne argument de la fonction MsgBox est encadrée par des guillemets. Vous pouvez utiliser plusieurs instructions, que vous séparez par deux points (:).

Vous pouvez également écrire une balise <SCRIPT> qui s'applique à un événement particulier pour un contrôle spécifique :

<SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="Bouton1">
<!--
   MsgBox "Mirabile visu."
-->
</SCRIPT>

Parce que la balise <SCRIPT> spécifie déjà l'événement et le contrôle, les instructions Sub et End Sub ne sont pas utilisées.


VBScript et les feuilles

Validation simple

Vous pouvez utiliser Visual Basic Scripting Edition pour effectuer une grande partie des traitements de feuille qui nécessitent en général un serveur. Vous pouvez aussi réaliser des opérations impossibles sur un serveur.

Voici un exemple de validation simple côté client. Le code HTML correspond à un champ de texte et un bouton. Si vous utilisez Microsoft® Internet Explorer pour afficher la page produite par le code suivant, vous observerez un petit champ de texte à côté d'un bouton.

<HTML>
<HEAD><TITLE>Validation simple</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Validate
 Dim LaFeuille
 Set LaFeuille = Document.forms("ValidForm")
 If IsNumeric(LaFeuille.Text1.Value) Then
    If LaFeuille.Text1.Value < 1 Or LaFeuille.Text1.Value > 10 Then
      MsgBox "Veuillez entrer un nombre entre 1 et 10."
   Else
      MsgBox "Merci."
    End If
 Else
    MsgBox "Veuillez entrer une valeur numérique."
 End If
End Sub-->
</SCRIPT>
</HEAD>
<BODY>
<H3>Validation simple</H3><HR>
<form id="ValidForm" action="nothing.asp" onsubmit="Validate(); return false;" language="jscript">
Entrez une valeur entre 1 et 10:
<<input name="Text1" TYPE="TEXT" SIZE="2">
<input name="Soumettre" TYPE="Soumettre" VALUE="Soumettre">
</form>
</BODY>
</HTML>

La différence entre ce champ de texte et les exemples de Une page VBScript simple est que la propriété Value du champ de texte est utilisée pour vérifier la valeur entrée. Pour lire une propriété Value, le code doit qualifier la référence au nom du champ de texte.

Vous pouvez toujours écrire la référence complète Document.FeuilleValidation.Texte1. Toutefois, lorsque vous avez de multiples références aux contrôles de la feuille, vous emploierez la méthode suivante. Déclarez tout d'abord une variable. Utilisez ensuite l'instruction Set pour affecter la feuille à la variable LaFeuille. Une instruction d'affectation normale, comme Dim, ne fonctionne pas dans ce cas ; vous devez utiliser Set pour préserver la référence à un objet.

Utilisation de valeurs numériques

Remarquez que l'exemple teste directement la valeur par rapport à un nombre : il utilise la fonction IsNumeric pour vérifier que la chaîne dans le champ est un nombre. Bien que VBScript convertisse automatiquement les chaînes et les nombres, il est recommandé de tester le sous-type des valeurs saisies par l'utilisateur et d'utiliser les fonctions de conversion le cas échéant. Pour additionner des valeurs issues de champs de texte, convertissez les valeurs explicitement en nombres parce que le symbole d'opérateur (+) représente à la fois l'addition numérique et la concaténation de chaînes. Par exemple, si Texte1 contient "1" et Texte2 contient "2", on observe les résultats suivants :

A = Texte1.Value + Texte2.Value   ' A vaut "12"
A = CDbl(Texte1.Value) + Texte2.Value   ' A vaut 3

Validation et renvoi de données vers le serveur

L'exemple de validation simple utilise un simple contrôle Button. Si un contrôle Submit était utilisé, l'exemple ne verrait pas les données pour les vérifier puisqu'elles seraient envoyées immédiatement au serveur. En évitant l'utilisation du contrôle Submit, vous pouvez vérifier les données mais celles-ci ne sont pas soumises au serveur. Ceci nécessite une ligne de code supplémentaire :

<SCRIPT LANGUAGE="VBScript">
<!--
Sub Soumettre_OnClick
  Dim LaFeuille
  Set LaFeuille = Document.ValidForm
  If IsNumeric(LaFeuille.Texte1.Value) Then
    If LaFeuille.Texte1.Value < 1 Or LaFeuille.Texte1.Value > 10 Then
      MsgBox "Veuillez entrer un nombre entre 1 et 10."
    Else
      MsgBox "Merci."
      LaFeuille.Submit   ' Données correctes; envoyer au serveur.
    End If
 Else
    MsgBox "Veuillez entrer une valeur numérique."
 End If
End Sub
-->
</SCRIPT>

Pour envoyer les données au serveur, le code appelle la méthode Submit sur l'objet feuille lorsque les données sont correctes. À partir de ce moment, le serveur gère les données comme il l'aurait fait directement, sauf que les données ont été vérifiées avant d'être envoyées. Vous trouverez des informations complètes sur la méthode Submit et sur d'autres méthodes dans la documentation Internet Explorer Scripting Object Model accessible à partir du site Web de Microsoft (http://www.microsoft.com) ou sur le site européen (http://www.eu.microsoft.com).

Pour l'instant, vous avez vu uniquement les objets <FORM> HTML standard. Internet Explorer vous permet aussi d'exploiter toute la puissance des contrôles ActiveX™ (anciennement contrôles OLE) et Java™.


Utilisation de VBScript avec les objets

Utilisation d'objets

Que vous utilisiez un contrôle ActiveX™ (anciennement nommé contrôle OLE) ou un objet Java™, Microsoft Visual Basic Scripting Edition et Microsoft® Internet Explorer le gèrent de la même façon. Si vous utilisez Internet Explorer et avez installé le contrôle Label, vous pouvez observer la page produite par le code ci-dessous.

Vous incorporez un objet avec des balises <OBJECT> et définissez ses valeurs de propriétés initiales avec des balises <PARAM>. Si vous êtes un programmeur Visual Basic, vous constaterez que l'utilisation des balises <PARAM> correspond à la définition des propriétés initiales d'un contrôle sur une feuille. Par exemple, l'ensemble de balises <OBJECT> et <PARAM> ajoute le contrôle Label ActiveX à une page :

<OBJECT
   classid="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2"
   id=lblActiveLbl
   width=250
   height=250
   align=left
   hspace=20
   vspace=0
>
<PARAM NAME="Angle" VALUE="90">
<PARAM NAME="Alignment" VALUE="4">
<PARAM NAME="BackStyle" VALUE="0">
<PARAM NAME="Caption" VALUE="Une simple étiquette décousue">
<PARAM NAME="FontName" VALUE="Verdana, Arial, Helvetica">
<PARAM NAME="FontSize" VALUE="20">
<PARAM NAME="FontBold" VALUE="1">
<PARAM NAME="FrColor" VALUE="0">
</OBJECT>

Vous pouvez lire et définir des propriétés et appeler des méthodes comme pour tout contrôle de la feuille. Le code ci-dessous, par exemple, comprend des contrôles <FORM> que vous pouvez utiliser pour manipuler deux propriétés du contrôle Label :

<FORM NAME="LabelControls">
<INPUT TYPE="TEXT" NAME="txtNewText" SIZE=25>
<INPUT TYPE="BUTTON" NAME="cmdChanger" VALUE="Changer le texte">
<INPUT TYPE="BUTTON" NAME="cmdPivoter" VALUE="Pivoter l'étiquette">
</FORM>

Lors de la définition de la feuille, une procédure d'événement pour le bouton cmdChanger change le texte de l'étiquette :

<SCRIPT LANGUAGE="VBScript">
<!--
Sub cmdChanger_onClick
   Dim LaFeuille
   Set LaFeuille = Document.LabelControls
   lblActiveLbl.Caption = LaFeuille.txtNewText.Value
End Sub
-->
</SCRIPT>

Le code qualifie les références aux contrôles et valeurs à l'intérieur des feuilles comme dans l'exemple Validation Simple.

Plusieurs contrôles ActiveX™ sont disponibles pour utilisation avec Internet Explorer. Vous trouverez des informations complètes sur les propriétés, méthodes et événements, ainsi que sur les identificateurs de classe (CLSID) pour les contrôles sur le site Web de Microsoft (http://www.microsoft.com) ou sur le site européen (http://www.eu.microsoft.com). Vous trouverez d'autres informations sur la balise <OBJECT> dans la page Internet Explorer 4.0 Author's Guide and HTML Reference.

Remarque Les versions précédentes d'Internet Explorer exigeaient des accolades ({}) autour de l'attribut d'identificateur de classe et n'étaient pas conformes à la norme W3C. L'utilisation d'accolades avec la version actuelle génère le message "This page uses an outdated version of the <OBJECT> tag".


Référence du langage VBScript

Caractéristiques

Constantes

Erreurs

Événements

Fonctions

Instructions

Liste des mots clés

Méthodes

Objets

Opérateurs

Propriétés

Bienvenue dans la référence du langage VBscript

Ces informations vous aideront à découvrir les divers composants de VBScript.

Chaque partie du langage VBScript est classée par ordre alphabétique dans la liste des mots clés. Si vous vous intéressez à une catégorie bien précise, celle des objets par exemple, cliquez sur l'intitulé correspondant et vous verrez uniquement les objets de VBScript.

Cliquez sur un intitulé de gauche pour afficher la liste des éléments contenus dans cette catégorie. À partir de cette liste, sélectionnez la rubrique souhaitée. Une fois la rubrique affichée, vous pourrez facilement naviguer vers d'autres rubriques

Naviguez dans les différentes sections composant la référence du langage VBScript. Vous constaterez la richesse du langage VBScript.

Caractéristiques | Description
Informations sur la version | Liste des versions VBScript par application hôte et liste des caractéristiques par version.
Caractéristiques de VBScript | Liste des caractéristiques actuelles de VBScript.
Caractéristiques de VBA non intégrées à VBScript | Liste des caractéristiques actuelles de Visual Basic Applications Edition, mais non incluses dans VBScript.
Caractéristiques de VBScript non intégrées à VBA | Liste des caractéristiques de VBScript non incluses dans Visual Basic Applications Edition.
Caractéristiques d'exécution de Microsoft Scripting | Liste des caractéristiques d'exécution de Microsoft Scripting actuellement incluses dans VBScript.
Élément de langage | Description
Abs, fonction | Renvoie la valeur absolue d'un nombre.
Addition (+), opérateur | Effectue la somme de deux nombres.
And, opérateur | Effectue la conjonction logique de deux expressions.
Array, fonction | Renvoie un Variant contenant un tableau.
Asc, fonction | Renvoie le code de caractère ANSI correspondant à la première lettre d'une chaîne.
Affectation (=), opérateur | Affecte une valeur à une variable ou à une propriété.
Atn, fonction | Renvoie l'arc tangent d'un nombre.
Call, instruction | Transfère le contrôle à une procédure Sub ou Function.
CBool, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Boolean.
CByte, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Byte.
CCur, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Currency.
CDate, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Date.
CDbl, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Double.
Chr, fonction | Renvoie le caractère associé au code de caractère ANSI spécifié.
CInt, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Integer.
Class, objet | Procure un accès aux événements de la classe créée.
Class, instruction | Déclare le nom de la classe.
Clear, méthode | Réinitialise les propriétés de l'objet Err.
CLng, fonction | Renvoie expression qui a été convertie en un Variant de sous-type Long.
Couleur, constantes | Liste des constantes de couleur.
Comparaison, constantes | Liste des constantes utilisées dans les opérations de comparaison.
Concaténation (&), opérateur | Force la concaténation de chaînes de deux expressions.
Const, instruction | Déclare les constantes destinées à remplacer des valeurs littérales.
Cos, fonction | Renvoie le cosinus d'un angle.
CreateObject, fonction | Crée et renvoie une référence à un objet Automation.
CSng, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Single.
CStr, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type String.
Date/Heure, constantes | Liste des constantes définissant les jours de la semaine et d'autres constantes utilisées pour les opérations de date et heure.
Format de date, constantes | Liste des constantes utilisées pour le format des dates et des heures.
Date, fonction | Renvoie la date système courante.
DateAdd, fonction | Renvoie une date à laquelle un intervalle spécifié a été ajouté.
DateDiff, fonction | Renvoie le nombre d'intervalles entre deux dates.
DatePart, fonction | Renvoie la partie spécifiée d'une date donnée.
DateSerial, fonction | Renvoie un Variant de sous-type Date pour une année, un mois et un jour spécifiés.
DateValue, fonction | Renvoie un Variant de sous-type Date.
Day, fonction | Renvoie un nombre entier compris entre 1 et 31 inclus, représentant le jour du mois.
Description, propriété | Renvoie ou définit une chaîne descriptive associée à une erreur.
Dictionary, objet | Objet qui stocke des paires clé/élément de données.
Dim, instruction | Déclare des variables et alloue l'espace de stockage.
Division (/), opérateur | Effectue la division entre deux nombres et renvoie un résultat à virgule flottante.
Do...Loop, instruction | Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True.
Empty | Indique une valeur de variable non initialisée.
Eqv, opérateur | Effectue une équivalence logique de deux expressions.
Erase, instruction | Réinitialise les éléments des tableaux de taille fixe et libère l'espace de stockage des tableaux dynamiques.
Err, objet | Contient l'information relative aux erreurs d'exécution.
Eval, fonction | Évalue une expression et renvoie le résultat.
Execute, méthode | Exécute la recherche d'une expression par rapport à une chaîne spécifiée.
Execute, instruction | Exécute une ou plusieurs instructions spécifiées.
ExecuteGlobal, instruction | Exécute une ou plusieurs instructions spécifiées dans l'espace de nom global d'un script.
Exit, instruction | Quitte un bloc du code Do...Loop, For...Next, Function ou Sub.
Exp, fonction | Renvoie e (la base des logarithmes népériens) élevé à une puissance.
Élévation à la puissance (^), opérateur | Élève un nombre à la puissance de l'exposant indiqué.
False | Mot clé dont la valeur équivaut à zéro.
FileSystemObject, objet | Procure un accès au système de fichier d'un ordinateur.
Filter, fonction | Renvoie un tableau commençant par zéro contenant un sous-ensemble d'un tableau de chaîne basé sur des critères de filtre spécifiés.
FirstIndex, propriété | Indique la position dans une chaîne de recherche où une correspondance a été trouvée.
Fix, fonction | Renvoie la partie entière d'un nombre.
For...Next, instruction | Répète un groupe d'instructions un nombre spécifié de fois.
For Each...Next, instruction | Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection.
FormatCurrency, fonction | Renvoie une expression formatée sous forme de valeur de type Currency utilisant le symbole monétaire défini dans le Panneau de configuration du système.
FormatDateTime, fonction | Renvoie une expression formatée sous forme de date ou d'heure.
FormatNumber, fonction | Renvoie une expression formatée sous forme de nombre.
FormatPercent, fonction | Renvoie une expression formatée sous forme de pourcentage (multiplié par 100) avec un caractère de fin %.
Function, instruction | Déclare le nom, les arguments et le code qui forment le corps d'une procédure Function.
GetLocale, fonction | Renvoie la valeur d'ID des paramètres régionaux en cours.
GetObject, fonction | Renvoie une référence à l'objet Automation d'un fichier.
GetRef, fonction | Renvoie une référence à une procédure qui peut être lié à un événement.
Global, propriété | Définit ou renvoie une valeur booléenne.
Hex, fonction | Renvoie une chaîne représentant la valeur hexadécimale d'un nombre.
HelpContext, propriété | Définit ou renvoie un identificateur de contexte pour une rubrique dans un fichier d'aide.
HelpFile, propriété | Définit ou renvoie un chemin d'accès complet d'un fichier d'aide.
Hour, fonction | Renvoie un nombre entier compris entre 0 et 23 inclus, représentant l'heure du jour.
If...Then...Else, instruction | Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression.
IgnoreCase, propriété | Définit ou renvoie une valeur booléenne indiquant si les critères de recherche font la distinction entre les minuscules et les majuscules.
Imp, opérateur | Effectue une implication logique entre deux expressions.
Initialize, événement | Se produit lorsqu'une instance d'une classe associée est créée.
InputBox, fonction | Affiche une invite dans une boîte de dialogue, attend que l'utilisateur entre du texte ou choisisse un bouton et renvoie le contenu de la zone de texte.
InStr, fonction | Renvoie la position de la première occurrence d'une chaîne à l'intérieur d'une autre.
InStrRev, fonction | Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne.
Int, fonction | Renvoie la partie entière d'un nombre.
Division entière (\), opérateur | Effectue la division de deux nombres et renvoie le résultat sous forme de nombre entier.
Is, opérateur | Compare deux variables de référence à un objet.
IsArray, fonction | Renvoie une valeur booléenne indiquant si une variable est un tableau.
IsDate, fonction | Renvoie une valeur booléenne indiquant si une expression peut être convertie en date.
IsEmpty, fonction | Renvoie une valeur booléenne indiquant si une variable a été initialisée.
IsNull, fonction | Renvoie une valeur booléenne indiquant si une expression contient des valeurs valides ou non (Null).
IsNumeric, fonction | Renvoie une valeur booléenne indiquant si une expression peut être évaluée sous la forme d'un nombre.
IsObject, fonction | Renvoie une valeur booléenne indiquant si une expression fait référence à un objet Automation correct.
Join, fonction | Renvoie une chaîne créée par la jonction de plusieurs sous-chaînes contenues dans un tableau.
LBound, fonction | Renvoie l'indice le plus petit disponible pour la dimension indiquée d'un tableau.
LCase, fonction | Renvoie une chaîne qui a été convertie en minuscules.
Tableau des ID de langue (LCID) | Liste des ID de paramètres régionaux (langue) et les valeurs correspondantes.
Left, fonction | Renvoie un nombre spécifié de caractères à partir de la gauche d'une chaîne.
Len, fonction | Renvoie le nombre de caractères contenus dans une chaîne, ou le nombre d'octets requis pour mémoriser une variable.
Length, propriété | Renvoie la longueur d'une correspondance trouvée dans une chaîne de recherche.
LoadPicture, fonction | Renvoie un objet image. Disponible seulement sur les plates-formes 32 bits.
Log, fonction | Renvoie le logarithme népérien d'un nombre.
LTrim, fonction | Renvoie la copie d'une chaîne sans espaces à gauche.
Match, objet | Procure un accès aux propriétés d'une correspondance d'expression régulière.
Matches, collection | Collection d'objets Match sous forme d'expressions régulières.
Mid, fonction | Renvoie un nombre spécifié de caractères d'une chaîne.
Minute, fonction | Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la minute de l'heure.
Divers, constantes | Liste des constantes qui ne répondent à aucune catégorie.
Mod, opérateur | Effectue la division de deux nombres et renvoie seulement le reste.
Month, fonction | Renvoie un nombre entier compris entre 1 et 12 inclus, représentant le mois de l'année.
MonthName, fonction | Renvoie une chaîne indiquant le mois spécifié.
MsgBox, constantes | Liste des constantes utilisées avec la fonction MsgBox.
MsgBox, fonction | Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton et renvoie une valeur indiquant le bouton choisi par l'utilisateur.
Multiplication (*), opérateur | Multiplie deux nombres.
Négation (-), opérateur | Indique la valeur négative d'une expression numérique.
Not, opérateur | Effectue la négation logique d'une expression.
Now, fonction | Renvoie la date et l'heure en cours en fonction de leur paramétrage dans le système de votre ordinateur.
Nothing | Renvoie la date et l'heure en cours en fonction de leur paramétrage dans le système de votre ordinateur.
Null | Dissocie une variable d'objet de tout objet réel.
Number, propriété | Renvoie ou définit une valeur numérique spécifiant une erreur.
Oct, fonction | Renvoie une chaîne représentant la valeur octale d'un nombre.
On Error, instruction | Active la gestion des erreurs.
Priorité des opérateurs | Liste montrant l'ordre de précédence de différents opérateurs utilisés dans VBScript.
Option Explicit, instruction | Soumet à la déclaration explicite de toutes les variables dans un script.
Or, opérateur | Effectue l'opération logique de disjonction sur deux expressions.
Pattern, propriété | Définit ou renvoie les critères de recherche de l'expression régulière.
Private, instruction | Déclare des variables privées et alloue l'espace de stockage.
PropertyGet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci obtient (renvoie) la valeur d'une propriété.
PropertyLet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci affecte la valeur d'une propriété.
PropertySet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci définit la référence à un objet.
Public, instruction | Déclare les variables publiques et alloue l'espace de stockage.
Raise, méthode | Génère une erreur d'exécution.
Randomize, instruction | Initialise le générateur de nombres aléatoires.
ReDim, instruction | Déclare les variables de tableau dynamique et attribue ou réattribue l'espace de stockage au niveau de la procédure.
RegExp, objet | Permet uniquement la gestion des expressions régulières.
Rem, instruction | Inclut des remarques explicatives dans un programme.
Replace, fonction | Renvoie une chaîne dans laquelle une sous-chaîne donnée a été remplacée par une autre sous-chaîne le nombre de fois spécifié.
Replace, méthode | Remplace le texte trouvé dans une recherche d'expression régulière.
RGB, fonction | Renvoie un nombre entier représentant une valeur de couleur RVB.
Right, fonction | Renvoie le nombre spécifié de caractères en partant du côté droit de la chaîne.
Rnd, fonction | Renvoie un nombre aléatoire.
Round, fonction | Renvoie un nombre arrondi à un nombre spécifié de positions décimales.
Erreurs d'exécution | Liste des erreurs d'exécution de VBScript.
RTrim, fonction | Renvoie la copie d'une chaîne sans les espaces à droite.
ScriptEngine, fonction | Renvoie une chaîne représentant le langage de script utilisé.
ScriptEngineBuildVersion, fonction | Renvoie le numéro de version du moteur de script employé.
ScriptEngineMajorVersion, fonction | Renvoie le numéro de version principal du moteur de script employé.
ScriptEngineMinorVersion, fonction | Renvoie le numéro de version secondaire du moteur de script employé.
Second, fonction | Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la seconde de la minute.
Select Case, instruction | Exécute un groupe d'instructions parmi plusieurs, en fonction de la valeur d'une expression.
Set, instruction | Affecte une référence d'objet à une variable ou à une propriété.
SetLocale, fonction | Définit les paramètres régionaux globaux et renvoie les paramètres régionaux précédents.
Sgn, fonction | Renvoie un entier indiquant le signe d'un nombre.
Sin, fonction | Renvoie le sinus d'un angle.
Source, propriété | Renvoie ou définit le nom de l'objet ou de l'application qui est à l'origine de l'erreur.
Space, fonction | Renvoie une chaîne composée d'un nombre spécifié d'espaces.
Split, fonction | Renvoie un tableau à une dimension, commençant par zéro contenant un nombre spécifié de sous-chaînes.
Sqr, fonction | Renvoie la racine carrée d'un nombre.
StrComp, fonction | Renvoie la valeur indiquant le résultat d'une comparaison de chaîne.
Chaîne, constantes | Liste des constantes de chaînes.
String, fonction | Renvoie une chaîne constituée d'un caractère répété sur la longueur spécifiée
StrReverse, fonction | Renvoie une chaîne contenant des caractères dont l'ordre a été inversé par rapport à une chaîne donnée.
Sub, instruction | Déclare le nom, les arguments et le code qui forment le corps d'une procédure Sub.
Soustraction (-), opérateur | Effectue la différence entre deux nombres ou indique la valeur négative d'une expression numérique.
Erreurs de syntaxe | Liste des erreurs de syntaxe de VBScript.
Tan, fonction | Renvoie la tangente d'un angle.
Terminate, événement | Se produit lorsqu'une instance de la classe associée prend fin.
Test, méthode | Exécute la recherche d'une expression par rapport à une chaîne spécifiée.
Time, fonction | Renvoie un Variant de sous-type Date indiquant l'heure système en cours.
Timer, fonction | Renvoie le nombre de secondes qui se sont écoulées depuis 00:00 (minuit).
TimeSerial, fonction | Renvoie un Variant de sous-type Date contenant l'heure correspondant à des éléments spécifiques d'heure, de minute et de seconde.
TimeValue, fonction | Renvoie un Variant de sous-type Date contenant l'heure.
Trim, fonction | Renvoie la copie d'une chaîne sans les espaces à gauche ou à droite.
3-états, constantes | Utilisez-les dans votre code pour représenter les valeurs indiquées pour chacune d'elle.
True | Mot clé dont la valeur est égale à -1.
TypeName, fonction | Renvoie une chaîne qui fournit des informations de sous-type Variant sur une variable.
UBound, fonction | Renvoie l'indice le plus grand disponible pour la dimension indiquée d'un tableau.
UCase, fonction | Renvoie une chaîne qui a été convertie en majuscules.
Value, propriété | Renvoie la valeur ou le texte d'une correspondance trouvée dans une chaîne de recherche.
VarType, constantes | Liste des constantes qui définissent les sous-types Variant.
VarType, fonction | Renvoie une valeur indiquant le sous-type d'une variable.
VBScript, constantes | Différentes catégories de constantes disponibles dans VBScript.
Weekday, fonction | Renvoie un nombre entier représentant le jour de la semaine.
WeekdayName, fonction | Renvoie une chaîne indiquant le jour de la semaine spécifié.
While...Wend, instruction | Exécute une série d'instructions tant qu'une condition donnée est True.
With, instruction | Exécute une série d'instructions sur un objet unique.
Xor, opérateur | Effectue l'opération logique d'exclusion sur deux expressions.
Year, fonction | Renvoie un nombre entier représentant l'année.
Élément de langage | Description
Couleur, constantes | Liste des constantes de couleur.
Comparaison, constantes | Liste des constantes utilisées dans les opérations de comparaison.
Date/Heure, constantes | Liste des constantes définissant les jours de la semaine et d'autres constantes utilisées pour les opérations de date et heure.
Format de date, constantes | Liste des constantes utilisées pour le format des dates et des heures.
Tableau des ID de langue (LCID) | Liste des ID de paramètres régionaux (langue) et les valeurs correspondantes.
Divers, constantes | Liste des constantes qui ne répondent à aucune catégorie.
MsgBox, constantes | Liste des constantes utilisées avec la fonction MsgBox.
Chaîne, constantes | Liste des constantes de chaînes.
3-états, constantes | Utilisez-les dans votre code pour représenter les valeurs indiquées pour chacune d'elle.
VarType, constantes | Liste des constantes qui définissent les sous-types Variant.
VBScript, constantes | Différentes catégories de constantes disponibles dans VBScript.
Erreurs | Description
Erreurs d'exécution | Liste des erreurs d'exécution de VBScript.
Erreurs de syntaxe | Liste des erreurs de syntaxe de VBScript.
Élément de langage | Description
Initialize, événement | Se produit lorsqu'une instance d'une classe associée est créée.
Terminate, événement | Se produit lorsqu'une instance de la classe associée prend fin.
Élément de langage | Description
Abs, fonction | Renvoie la valeur absolue d'un nombre.
Array, fonction | Renvoie un Variant contenant un tableau.
Asc, fonction | Renvoie le code de caractère ANSI correspondant à la première lettre d'une chaîne.
Atn, fonction | Renvoie l'arc tangent d'un nombre.
CBool, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Boolean.
CByte, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Byte.
CCur, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Currency.
CDate, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Date.
CDbl, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Double.
Chr, fonction | Renvoie le caractère associé au code de caractère ANSI spécifié.
CInt, fonction | Renvoie expression qui a été convertie en un Variant de sous-type Integer.
CLng, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Long.
Cos, fonction | Renvoie le cosinus d'un angle.
CreateObject, fonction | Crée et renvoie une référence à un objet Automation.
CSng, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type Single.
CStr, fonction | Renvoie une expression qui a été convertie en un Variant de sous-type String.
Date, fonction | Renvoie la date système courante.
DateAdd, fonction | Renvoie une date à laquelle un intervalle spécifié a été ajouté.
DateDiff, fonction | Renvoie le nombre d'intervalles entre deux dates.
DatePart, fonction | Renvoie la partie spécifiée d'une date donnée.
DateSerial, fonction | Renvoie un Variant de sous-type Date pour une année, un mois et un jour spécifiés.
DateValue, fonction | Renvoie un Variant de sous-type Date.
Day, fonction | Renvoie un nombre entier compris entre 1 et 31 inclus, représentant le jour du mois.
Eval, fonction | Évalue une expression et renvoie le résultat.
Exp, fonction | Renvoie e (la base des logarithmes népériens) élevé à une puissance.
Filter, fonction | Renvoie un tableau commençant par zéro contenant un sous-ensemble d'un tableau de chaîne basé sur des critères de filtre spécifiés.
Fix, fonction | Renvoie la partie entière d'un nombre.
FormatCurrency, fonction | Renvoie une expression formatée sous forme de valeur de type Currency utilisant le symbole monétaire défini dans le Panneau de configuration du système.
FormatDateTime, fonction | Renvoie une expression formatée sous forme de date ou d'heure.
FormatNumber, fonction | Renvoie une expression formatée sous forme de nombre.
FormatPercent, fonction | Renvoie une expression formatée sous forme de pourcentage (multiplié par 100) avec un caractère de fin %.
GetLocale, fonction | Renvoie la valeur d'ID des paramètres régionaux en cours.
GetObject, fonction | Renvoie une référence à l'objet Automation d'un fichier.
GetRef, fonction | Renvoie une référence à une procédure qui peut être lié à un événement.
Hex, fonction | Renvoie une chaîne représentant la valeur hexadécimale d'un nombre.
Hour, fonction | Renvoie un nombre entier compris entre 0 et 23 inclus, représentant l'heure du jour.
InputBox, fonction | Affiche une invite dans une boîte de dialogue, attend que l'utilisateur entre du texte ou choisisse un bouton et renvoie le contenu de la zone de texte.
InStr, fonction | Renvoie la position de la première occurrence d'une chaîne à l'intérieur d'une autre.
InStrRev, fonction | Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne.
Int, fonction | Renvoie la partie entière d'un nombre.
IsArray, fonction | Renvoie une valeur booléenne indiquant si une variable est un tableau.
IsDate, fonction | Renvoie une valeur booléenne indiquant si une expression peut être convertie en date.
IsEmpty, fonction | Renvoie une valeur booléenne indiquant si une variable a été initialisée.
IsNull, fonction | Renvoie une valeur booléenne indiquant si une expression contient des valeurs valides ou non (Null).
IsNumeric, fonction | Renvoie une valeur booléenne indiquant si une expression peut être évaluée sous forme de nombre.
IsObject, fonction | Renvoie une valeur booléenne indiquant si une expression fait référence à un objet Automation valide.
Join, fonction | Renvoie une chaîne créée par la jonction de plusieurs sous-chaînes contenues dans un tableau.
LBound, fonction | Renvoie l'indice le plus petit disponible pour la dimension indiquée d'un tableau.
LCase, fonction | Renvoie une chaîne qui a été convertie en minuscules.
Left, fonction | Renvoie un nombre spécifié de caractères à partir de la gauche d'une chaîne.
Len, fonction | Renvoie le nombre de caractères contenus dans une chaîne, ou le nombre d'octets requis pour mémoriser une variable.
LoadPicture, fonction | Renvoie un objet image. Disponible seulement sur les plates-formes 32 bits.
Log, fonction | Renvoie le logarithme népérien d'un nombre.
LTrim, fonction | Renvoie la copie d'une chaîne sans espaces à gauche.
Mid, fonction | Renvoie un nombre spécifié de caractères d'une chaîne.
Minute, fonction | Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la minute de l'heure.
Month, fonction | Renvoie un nombre entier compris entre 1 et 12 inclus, représentant le mois de l'année.
MonthName, fonction | Renvoie une chaîne indiquant le mois spécifié.
MsgBox, fonction | Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton et renvoie une valeur indiquant le bouton choisi par l'utilisateur.
Now, fonction | Renvoie la date et l'heure en cours en fonction de leur paramétrage dans le système de votre ordinateur.
Oct, fonction | Renvoie une chaîne représentant la valeur octale d'un nombre.
Replace, fonction | Renvoie une chaîne dans laquelle une sous-chaîne donnée a été remplacée par une autre sous-chaîne le nombre de fois spécifié.
RGB, fonction | Renvoie un nombre entier représentant une valeur de couleur RVB.
Right, fonction | Renvoie le nombre spécifié de caractères en partant du côté droit de la chaîne.
Rnd, fonction | Renvoie un nombre aléatoire.
Round, fonction | Renvoie un nombre arrondi à un nombre spécifié de positions décimales.
RTrim, fonction | Renvoie la copie d'une chaîne sans les espaces à droite.
ScriptEngine, fonction | Renvoie une chaîne représentant le langage de script utilisé.
ScriptEngineBuildVersion, fonction | Renvoie le numéro de version du moteur de script employé.
ScriptEngineMajorVersion, fonction | Renvoie le numéro de version principal du moteur de script employé.
ScriptEngineMinorVersion, fonction | Renvoie le numéro de version secondaire du moteur de script employé.
Second, fonction | Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la seconde de la minute.
SetLocale, fonction | Définit les paramètres régionaux globaux et renvoie les paramètres régionaux précédents.
Sgn, fonction | Renvoie un entier indiquant le signe d'un nombre.
Sin, fonction | Renvoie le sinus d'un angle.
Space, fonction | Renvoie une chaîne composée d'un nombre spécifié d'espaces.
Split, fonction | Renvoie un tableau à une dimension, commençant par zéro contenant un nombre spécifié de sous-chaînes.
Sqr, fonction | Renvoie la racine carrée d'un nombre.
StrComp, fonction | Renvoie la valeur indiquant le résultat d'une comparaison de chaîne.
String, fonction | Renvoie une chaîne constituée d'un caractère répété sur la longueur spécifiée
StrReverse, fonction | Renvoie une chaîne contenant des caractères dont l'ordre a été inversé par rapport à une chaîne donnée.
Tan, fonction | Renvoie la tangente d'un angle.
Time, fonction | Renvoie un Variant de sous-type Date indiquant l'heure système en cours.
Timer, fonction | Renvoie le nombre de secondes qui se sont écoulées depuis 00:00 (minuit).
TimeSerial, fonction | Renvoie un Variant de sous-type Date contenant l'heure correspondant à des éléments spécifiques d'heure, de minute et de seconde.
TimeValue, fonction | Renvoie un Variant de sous-type Date contenant l'heure.
Trim, fonction | Renvoie la copie d'une chaîne sans les espaces à gauche ou à droite.
TypeName, fonction | Renvoie une chaîne qui fournit des informations de sous-type Variant sur une variable.
UBound, fonction | Renvoie l'indice le plus grand disponible pour la dimension indiquée d'un tableau.
UCase, fonction | Renvoie une chaîne qui a été convertie en majuscules.
VarType, fonction | Renvoie une valeur indiquant le sous-type d'une variable.
Weekday, fonction | Renvoie un nombre entier représentant le jour de la semaine.
WeekdayName, fonction | Renvoie une chaîne indiquant le jour de la semaine spécifié.
Year, fonction | Renvoie un nombre entier représentant l'année.
Élément de langage | Description
Clear, méthode | Réinitialise les propriétés de l'objet Err.
Execute, méthode | Exécute la recherche d'une expression par rapport à une chaîne spécifiée.
Raise, méthode | Génère une erreur d'exécution.
Replace, méthode | Remplace le texte trouvé dans une recherche d'expression régulière.
Test, méthode | Exécute la recherche d'une expression par rapport à une chaîne spécifiée.
Élément de langage | Description
Class, objet | Procure un accès aux événements de la classe créée.
Dictionary, objet | Objet qui stocke des paires clé/élément de données.
Err, objet | Contient l'information relative aux erreurs d'exécution.
FileSystemObject, objet | Procure un accès au système de fichier d'un ordinateur.
Match, objet | Procure un accès aux propriétés d'une correspondance d'expression régulière.
Matches, collection | Collection d'objets Match sous forme d'expressions régulières.
RegExp, objet | Permet uniquement la gestion des expressions régulières.
Élément de langage | Description
Addition (+), opérateur | Effectue la somme de deux nombres.
And, opérateur | Effectue la conjonction logique de deux expressions.
Affectation (=), opérateur | Affecte une valeur à une variable ou à une propriété.
Concaténation (&), opérateur | Force la concaténation de chaînes de deux expressions.
Division (/), opérateur | Effectue la division entre deux nombres et renvoie un résultat à virgule flottante.
Eqv, opérateur | Effectue une équivalence logique de deux expressions.
Élévation à la puissance (^), opérateur | Élève un nombre à la puissance de l'exposant indiqué.
Imp, opérateur | Effectue une implication logique entre deux expressions.
Division entière (\), opérateur | Effectue la division de deux nombres et renvoie le résultat sous forme de nombre entier.
Is, opérateur | Compare deux variables de référence à un objet.
Mod, opérateur | Effectue la division de deux nombres et renvoie seulement le reste.
Multiplication (*), opérateur | Multiplie deux nombres.
Négation (-), opérateur | Indique la valeur négative d'une expression numérique.
Not, opérateur | Effectue la négation logique d'une expression.
Priorité des opérateurs | Liste montrant l'ordre de précédence de différents opérateurs utilisés dans VBScript.
Or, opérateur | Effectue l'opération logique de disjonction sur deux expressions.
Soustraction (-), opérateur | Effectue la différence entre deux nombres ou indique la valeur négative d'une expression numérique.
Xor, opérateur | Effectue l'opération logique d'exclusion sur deux expressions.
Élément de langage | Description
Description, propriété | Renvoie ou définit une chaîne descriptive associée à une erreur.
FirstIndex, propriété | Indique la position dans une chaîne de recherche où une correspondance a été trouvée.
Global, propriété | Définit ou renvoie une valeur booléenne.
HelpContext, propriété | Définit ou renvoie un identificateur de contexte pour une rubrique dans un fichier d'aide.
HelpFile, propriété | Définit ou renvoie un chemin d'accès complet d'un fichier d'aide.
IgnoreCase, propriété | Définit ou renvoie une valeur booléenne indiquant si les critères de recherche font la distinction entre les minuscules et les majuscules.
Length, propriété | Renvoie la longueur d'une correspondance trouvée dans une chaîne de recherche.
Number, propriété | Renvoie ou définit une valeur numérique spécifiant une erreur.
Pattern, propriété | Définit ou renvoie les critères de recherche de l'expression régulière.
Source, propriété | Renvoie ou définit le nom de l'objet ou de l'application qui est à l'origine de l'erreur.
Value, propriété | Renvoie la valeur ou le texte d'une correspondance trouvée dans une chaîne de recherche.
Élément de langage | Description
Call, instruction | Transfère le contrôle à une procédure Sub ou Function.
Class, instruction | Déclare le nom de la classe.
Const, instruction | Déclare les constantes destinées à remplacer des valeurs littérales.
Dim, instruction | Déclare des variables et alloue l'espace de stockage.
Do...Loop, instruction | Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True.
Erase, instruction | Réinitialise les éléments des tableaux de taille fixe et libère l'espace de stockage des tableaux dynamiques.
Execute, instruction | Exécute une ou plusieurs instructions spécifiées.
ExecuteGlobal, instruction | Exécute une ou plusieurs instructions spécifiées dans l'espace de nom global d'un script.
Exit, instruction | Quitte un bloc du code Do...Loop, For...Next, Function ou Sub.
For...Next, instruction | Répète un groupe d'instructions un nombre spécifié de fois.
For Each...Next, instruction | Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection.
Function, instruction | Déclare le nom, les arguments et le code qui forment le corps d'une procédure Function.
If...Then...Else, instruction | Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression.
On Error, instruction | Active la gestion des erreurs.
Option Explicit, instruction | Soumet à la déclaration explicite de toutes les variables dans un script.
Private, instruction | Déclare les variables privées et alloue l'espace de stockage.
PropertyGet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci obtient (renvoie) la valeur d'une propriété.
PropertyLet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci attribue la valeur d'une propriété.
PropertySet, instruction | Déclare le nom, les arguments et le code qui forment une procédure Property ; celle-ci définit la référence à un objet.
Public, instruction | Déclare des variables publiques et alloue l'espace de stockage.
Randomize, instruction | Initialise le générateur de nombres aléatoires.
ReDim, instruction | Déclare les variables de tableaux dynamiques et alloue ou réalloue l'espace de stockage au niveau de la procédure.
Rem, instruction | Inclut des remarques explicatives dans un programme.
Select Case, instruction | Exécute un groupe d'instructions parmi plusieurs, en fonction de la valeur d'une expression.
Set, instruction | Affecte une référence d'objet à une variable ou à une propriété.
Sub, instruction | Déclare le nom, les arguments et le code qui forment le corps d'une procédure Sub.
While...Wend, instruction | Exécute une série d'instructions tant qu'une condition donnée est True.
With, instruction | Exécute une série d'instructions sur un objet unique.

© 2000 Microsoft Corporation. Tous droits réservés.


Caractéristiques de VBScript

Catégorie | Mots clés
Gestion des tableaux | Array Dim, Private, Public, ReDim IsArray Erase LBound, UBound
Affectations | Set
Commentaires | Commentaires utilisant ' ou Rem
Constantes/Littéraux | Empty Nothing Null True, False
Structures de contrôle | Do...Loop For...Next For Each...Next If...Then...Else Select Case While...Wend With
Conversions | Abs Asc, AscB, AscW Chr, ChrB, ChrW CBool, CByte CCur, CDate CDbl, CInt CLng, CSng, CStr DateSerial, DateValue Hex, Oct Fix, Int Sgn TimeSerial, TimeValue
Dates/Heures | Date, Time DateAdd, DateDiff, DatePart DateSerial, DateValue Day, Month, MonthName Weekday, WeekdayName, Year Hour, Minute, Second Now TimeSerial, TimeValue
Déclarations | Class Const Dim, Private, Public, ReDim Function, Sub Property Get, Property Let, Property Set
Gestion des erreurs | On Error Err
Expressions | Eval Execute RegExp Replace Test
Mise en forme des chaînes | FormatCurrency FormatDateTime FormatNumber FormatPercent
Entrées/Sorties | InputBox LoadPicture MsgBox
Littéraux | Empty False Nothing Null True
Mathématiques | Atn, Cos, Sin, Tan Exp, Log, Sqr Randomize, Rnd
Divers | Eval, fonction Execute, instruction RGB, fonction
Objets | CreateObject Err, objet GetObject RegExp
Opérateurs | Addition (+), Soustraction (-) Élévation à la puissance (^) Modulo arithmétique (Mod) Multiplication (*), Division (/) Division des entiers (\) Négation (-) Concaténation de chaînes (&) Égalité (=), Différence (<>) Inférieur à (<), Inférieur ou égal à (<=) Supérieur à (>) Supérieur ou égal à (>=) Is And, Or, Xor Eqv, Imp
Options | Option Explicit
Procédures | Call Function, Sub Property Get, Property Let, Property Set
Arrondis | Abs Int, Fix, Round Sgn
ID de moteur de script | ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion
Chaînes | Asc, AscB, AscW Chr, ChrB, ChrW Filter, InStr, InStrB InStrRev Join Len, LenB LCase, UCase Left, LeftB Mid, MidB Right, RightB Replace Space Split StrComp String StrReverse LTrim, RTrim, Trim
Variants | IsArray IsDate IsEmpty IsNull IsNumeric IsObject TypeName VarType


Caractéristiques de VBScript non incluses dans Visual Basic pour applications

Catégorie | Caractéristique/Mot clé
Déclarations | Class
Divers | Eval Execute
Objets | RegExp
Identification du moteur de script | ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion


Caractéristiques de Visual Basic pour applications non incluses dans VBScript

Catégorie | Caractéristique/Mot clé absent
Gestion des tableaux | Option Base Déclaration de tableau avec limite inférieure <> 0
Collection | Add, Count, Item, Remove Accès aux collections en utilisant le caractère ! (exemple : MaCollection!Foo)
Compilation conditionnelle | #Const #If...Then...#Else
Structures de contrôle | DoEvents GoSub...Return, GoTo On Error GoTo On...GoSub, On...GoTo Numéro de ligne, étiquettes de ligne
Conversion | CVar, CVDate Str, Val
Types de données | Tous les types de données intrinsèques sauf Variant Type...End Type
Date/Heure | Instruction Date, instruction Time
DDE | LinkExecute, LinkPoke, LinkRequest, LinkSend
Débogage | Debug.Print End, Stop
Déclaration | Declare (pour déclarer des DLL) Optional ParamArray Static
Gestion des erreurs | Erl Error Resume, Resume Next
Entrée/Sortie de fichier | Toutes les E/S de fichier traditionnelles Basic
Finances | Toutes les fonctions financières
Manipulation d'objet | TypeOf
Objets | Clipboard Collection
Opérateurs | Like
Options | Deftype Option Base Option Compare Option Private Module
Select Case | Expressions contenant le mot clé Is ou tout opérateur de comparaison Expressions qui contiennent une plage de valeurs utilisant le mot clé To.
Chaînes | Chaînes de longueur fixe LSet, RSet Instruction Mid StrConv
Utilisation d'objets | Accès aux collections avec !


Constantes de VBScript

Description | Élément de langage
Liste des constantes de couleur. | Couleur, constantes
Liste des constantes utilisées dans les opérations de comparaison. | Comparaison, constantes
Liste des constantes définissant les jours de la semaine et les autres constantes utilisées dans les opérations de date et d'heure. | Date/Heure, constantes
Liste des constantes utilisées pour mettre en forme les dates et les heures. | Format de date, constantes
Liste des ID de langue et des valeurs associées. | Tableau des ID de langue (LCID)
Liste des constantes ne correspondant à aucune autre catégorie. | Divers, constantes
Liste des constantes utilisées avec la fonction MsgBox. | MsgBox, constantes
Liste des constantes de chaîne. | Chaîne, constantes
À utiliser n'importe où dans votre code pour représenter les valeurs indiquées pour chacune d'elle. | 3-états, constantes
Liste des constantes définissant les sous-types Variant. | VarType, constantes
Diverses catégories de constantes fournies dans VBScript. | Constantes de VBScript


Couleur, constantes

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbBlack | &h00 | Noir
vbRed | &hFF | Rouge
vbGreen | &hFF00 | Vert
vbYellow | &hFFFF | Jaune
vbBlue | &hFF0000 | Bleu
vbMagenta | &hFF00FF | Magenta
vbCyan | &hFFFF00 | Cyan
vbWhite | &hFFFFFF | Blanc

Version requise

Version 2

Voir aussi

Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


Comparaison, constantes

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison de texte.

Version requise

Version 2

Voir aussi

Couleur, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


Date/Heure, constantes

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbSunday | 1 | Dimanche
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi
vbUseSystem | 0 | Utilise le format de date contenu dans les paramètres régionaux de votre ordinateur.
vbUseSystemDayOfWeek | 0 | Utilise le jour de la semaine spécifié dans les paramètres régionaux de votre système pour le premier jour de la semaine.
vbFirstJan1 | 1 | Utilise la semaine dans laquelle tombe le 1er janvier (par défaut).
vbFirstFourDays | 2 | Utilise la première semaine comportant au moins quatre jours dans la nouvelle année.
vbFirstFullWeek | 3 | Utilise la première semaine complète de l'année.

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


Format de date, constantes

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbGeneralDate | 0 | Affiche une date et/ou une heure. Pour les nombres réels, affiche une date et une heure. En l'absence de parties décimales, affiche seulement une date. S'il n'y a pas de parties entières, affiche seulement l'heure. Le mode d'affichage de la date et de l'heure est fonction des paramètres de votre système.
vbLongDate | 1 | Affiche une date en utilisant le format de date complet spécifié dans les paramètres régionaux de votre ordinateur.
vbShortDate | 2 | Affiche une date en utilisant le format de date abrégé spécifié dans les paramètres régionaux de l'ordinateur.
vbLongTime | 3 | Affiche une heure en utilisant le format d'heure complet spécifié dans les paramètres régionaux de votre ordinateur.
vbShortTime | 4 | Affiche une heure en utilisant le format d'heure abrégé spécifié dans les paramètres régionaux de votre ordinateur.

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


Divers, constantes

Cette constante étant intégrée dans VBScript, il n'est pas nécessaire de la définir pour l'utiliser. Vous pouvez l'insérer n'importe où dans le code pour représenter les valeurs qui lui sont associées.

Constante Valeur Description
vbObjectError -2147221504 Les numéros d'erreur définis par l'utilisateur doivent être supérieurs à cette valeur, par exemple :
Err.Raise Number = vbObjectError + 1000

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


MsgBox, constantes

Les constantes ci-dessous sont utilisées avec la fonction MsgBox pour identifier les boutons et les icônes qui apparaissent sur une boîte de message, ainsi que le bouton par défaut. En outre, la modalité de MsgBox peut être spécifiée. Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire des les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbOKOnly | 0 | Affiche uniquement le bouton OK.
vbOKCancel | 1 | Affiche les boutons OK et Annuler.
vbAbortRetryIgnore | 2 | Affiche les boutons Abandon, Réessayer et Ignorer.
vbYesNoCancel | 3 | Affiche les boutons Oui, Non et Annuler.
vbYesNo | 4 | Affiche les boutons Oui et Non.
vbRetryCancel | 5 | Affiche les boutons Réessayer et Annuler.
vbCritical | 16 | Affiche l'icône Message critique.
vbQuestion | 32 | Affiche l'icône Demande d'avertissement.
vbExclamation | 48 | Affiche l'icône Message d'avertissement.
vbInformation | 64 | Affiche l'icône Message d'information.
vbDefaultButton1 | 0 | Le premier bouton est le bouton par défaut.
vbDefaultButton2 | 256 | Le deuxième bouton est le bouton par défaut.
vbDefaultButton3 | 512 | Le troisième bouton est le bouton par défaut.
vbDefaultButton4 | 768 | Le quatrième bouton est le bouton par défaut.
vbApplicationModal | 0 | Boîte modale pour l'application. L'utilisateur doit répondre à la boîte de message avant de poursuivre le travail dans l'application courante.
vbSystemModal | 4096 | Boîte modale pour le système. Sur les systèmes Win16, toutes les applications sont suspendues jusqu'à ce que l'utilisateur réponde à la boîte de message. Sur les systèmes Win32, cette constante affiche une boîte de message modale pour l'application, laquelle reste toujours affichée quel que soit le programme que vous utilisez.

Les constantes suivantes sont utilisées avec la fonction MsgBox pour identifier le bouton sur lequel l'utilisateur a cliqué. Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
vbOK | 1 | L'utilisateur a cliqué sur OK.
vbCancel | 2 | L'utilisateur a cliqué sur Annuler.
vbAbort | 3 | L'utilisateur a cliqué sur Abandon.
vbRetry | 4 | L'utilisateur a cliqué sur Réessayer.
vbIgnore | 5 | L'utilisateur a cliqué sur Ignorer.
vbYes | 6 | L'utilisateur a cliqué sur Oui.
vbNo | 7 | L'utilisateur a cliqué sur Non.

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | Chaîne, constantes | 3-états, constantes | VarType, constantes


Chaîne, constante

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbCr | Chr(13) | Retour chariot.
VbCrLf | Chr(13) et Chr(10) | Combinaison de retour chariot et de saut de ligne.
vbFormFeed | Chr(12) | Saut de page ; pas pratique dans Microsoft Windows.
vbLf | Chr(10) | Saut de ligne.
vbNewLine | Chr(13) et Chr(10) ou Chr(10) | Caractère de nouvelle ligne spécifique à la plate-forme ; adapté à celle-ci.
vbNullChar | Chr(0) | Caractère ayant la valeur 0.
vbNullString | Chaîne ayant la valeur 0. | Différent d'une chaîne de longueur nulle ("") ; utilisé pour l'appel de procédures externes.
vbTab | Chr(9) | Tabulation horizontale.
vbVerticalTab | Chr(11) | Tabulation verticale ; non utilisée dans Microsoft Windows.

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | 3-états, constantes | VarType, constantes


3-états, constantes

Ces constantes étant intégrées dans VBScript, il n'est pas nécessaire de les définir pour les utiliser. Vous pouvez les insérer n'importe où dans le code pour représenter les valeurs qui leur sont associées.

Constante | Valeur | Description
vbUseDefault | -2 | Utiliser la valeur par défaut des paramètres régionaux.
vbTrue | -1 | True
vbFalse | 0 | False

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | VarType, constantes


VarType, constantes

Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
vbEmpty | 0 | Non initialisé (par défaut)
vbNull | 1 | Ne contient pas de données valides
vbInteger | 2 | Sous-type Integer
vbLong | 3 | Sous-type Long
vbSingle | 4 | Sous-type Single
vbDouble | 5 | Sous-type Double
vbCurrency | 6 | Sous-type Currency
vbDate | 7 | Sous-type Date
vbString | 8 | Sous-type String
vbObject | 9 | Objet
vbError | 10 | Sous-type Error
vbBoolean | 11 | Sous-type Boolean
vbVariant | 12 | Variant (utilisé uniquement pour les tableaux de données de type Variant)
vbDataObject | 13 | Objet d'accès aux données
vbDecimal | 14 | Sous-type Decimal
vbByte | 17 | Sous-type Byte
vbArray | 8192 | Tableau

Version requise

Version 2

Voir aussi

Couleur, constantes | Comparaison, constantes | Date/Heure, constantes | Format de date, constantes | Divers, constantes | MsgBox, constantes | Chaîne, constantes | 3-états, constantes


VBScript, constantes

VBScript présente de nombreuses constantes très utiles, que vous pouvez employer dans l'écriture de votre code. Les constantes sont un moyen pratique d'utiliser des valeurs spécifiques sans qu'il soit nécessaire de se souvenir de celles-ci. Elles rendent également votre code plus facile à entretenir, lorsque la valeur d'une constante est modifiée. Du fait que ces constantes sont déjà définies dans VBScript, il ne vous est pas nécessaire de les déclarer de façon explicite dans votre code. Il vous suffit de les utiliser à la place des valeurs qu'elles représentent.

Voici les différentes catégories de constantes disponibles dans VBScript ainsi qu'une brève description de chacune d'elle :

  • Chaîne, constantes Définissent un éventail de caractères qui ne sont pas imprimés et qui servent à la manipulation des chaînes.
  • Couleur, constantes Définissent les huit couleurs de base qui sont utilisées dans l'écriture d'un script.
  • Date/Heure, constantes Définissent les constantes d'heure et de date utilisées par les fonctions correspondantes.
  • Divers, constantes Définissent les constantes qui ne correspondent à aucune autre catégorie.
  • Format de date, constantes Définissent les constantes utilisées pour présenter les dates et les heures.
  • MsgBox, constantes Définissent les constantes utilisées dans la fonction MsgBox afin de décrire la visibilité du bouton, son étiquetage, son comportement et les valeurs renvoyées.
  • 3-états, constantes Définissent les constantes utilisées dans les fonctions qui mettent en forme les nombres.
  • VarType, constantes Définissent les différents sous-types Variant.

Version requise

Version 2

Voir aussi

FileSystemObject, constantes


Erreurs de VBScript

Description | Élément de langage
Liste des erreurs d'exécution de VBScript. | Erreurs d'exécution
Liste des erreurs de syntaxe de VBScript. | Erreurs de syntaxe


Erreurs d'exécution de VBScript

Les erreurs d'exécution VBScript se produisent lorsqu'un script VBScript tente d'effectuer une action que le système ne peut pas exécuter. Les erreurs d'exécution VBScript ont lieu lors de l'exécution du script, lorsque des expressions de variable sont en cours d'évaluation ou que de la mémoire est allouée de manière dynamique.

Numéro de l'erreur | Description
429 | Un composant ActiveX ne peut pas créer d'objet
507 | Une exception s'est produite
449 | Argument obligatoire
17 | Impossible d'effectuer l'opération requise
430 | Cette classe ne gère pas Automation
506 | Classe non définie
11 | Division par zéro
48 | Erreur de chargement de la DLL
5020 | ')' attendu dans l'expression régulière
5019 | ']' attendu dans l'expression régulière
432 | Nom de fichier ou de classe introuvable au cours de l'opération Automation
92 | Boucle For non initialisée
5008 | Affectation illégale
51 | Erreur interne
505 | Référence incorrecte ou non qualifiée
481 | Image incorrecte
5 | Argument ou appel de procédure incorrect
5021 | Plage incorrecte dans le jeu de caractères
94 | Utilisation incorrecte de Null
448 | Argument nommé introuvable
447 | Cet objet ne gère pas les paramètres régionaux en cours
445 | Cet objet ne gère pas cette action
438 | Propriété ou méthode non gérée par cet objet
451 | Cet objet n'est pas une collection
504 | Objet non sécurisé pour la création
503 | Objet non sécurisé pour l'initialisation
502 | Objet non sécurisé pour le script
424 | Objet requis
91 | Variable de l'objet non définie
7 | Mémoire insuffisante
28 | Espace pile insuffisant
14 | Espace de chaîne insuffisant
6 | Dépassement de capacité
35 | Sub ou Function non défini
9 | Indice en dehors de la plage
5017 | Erreur de syntaxe dans l'expression régulière
462 | La machine du serveur distant n'existe pas ou n'est pas disponible
10 | Ce tableau est fixe ou temporairement verrouillé
13 | Type incompatible
5018 | Quantifiant inattendu
500 | Variable indéfinie
458 | Cette variable utilise un type Automation non géré par VBScript
450 | Nombre d'arguments incorrect ou affectation de propriété incorrecte

Erreurs de syntaxe de VBScript


Erreur de syntaxe de VBScript

Les erreurs de syntaxe VBScript se produisent lorsque la structure de l'une de vos instructions VBScript enfreint une ou plusieurs règles grammaticales du langage de script VBScript. Les erreurs de syntaxe VBScript se produisent pendant la phase de compilation du programme, avant le début proprement dit de l'exécution du programme.

Numéro de l'erreur | Description
1052 | Impossible d'avoir plusieurs propriétés/méthodes par défaut dans une classe
1044 | Parenthèses interdites lors de l'appel d'une procédure Sub
1053 | L'initialisation ou la fin de classe ne comporte pas d'arguments
1058 | La spécification 'Default' ne peut se trouver que dans Property Get
1057 | La spécification 'Default' doit également spécifier 'Public'
1005 | '(' attendu
1006 | ')' attendu
1011 | '=' attendu
1021 | 'Case' attendu
1047 | 'Class' attendu
1025 | Fin d'instruction attendue
1014 | 'End' attendu
1023 | Expression attendue
1015 | 'Function' attendu
1010 | Identificateur attendu
1012 | 'If' attendu
1046 | 'In' attendu
1026 | Constante (entier) attendue
1049 | Let, Set ou Get attendu dans la déclaration de la propriété
1045 | Constante (littéral) attendue
1019 | 'Loop' attendu
1020 | 'Next' attendu
1050 | 'Property' attendu
1022 | 'Select' attendu
1024 | Instruction attendue
1016 | 'Sub' attendu
1017 | 'Then' attendu
1013 | 'To' attendu
1018 | 'Wend' attendu
1027 | 'While' ou 'Until' attendu
1028 | 'While', 'Until' ou fin d'instruction attendu
1029 | 'With' attendu
1030 | Identificateur trop long
1014 | Caractère incorrect
1039 | Instruction 'exit' incorrecte
1040 | Variable de contrôle de boucle 'for' incorrecte
1013 | Nombre incorrect
1037 | Utilisation incorrecte du mot clé 'Me'
1038 | 'loop' sans 'do'
1048 | Doit être défini à l'intérieur d'une classe
1042 | Doit être la première instruction de la ligne
1041 | Nom redéfini
1051 | Le nombre d'arguments doit être le même dans la spécification des propriétés
1001 | Mémoire insuffisante
1054 | La propriété Set ou Let doit comporter au moins un argument
1002 | Erreur de syntaxe
1055 | 'Next' inattendu
1015 | Constante de chaîne non terminée

Erreurs d'exécution de VBScript


Événements de VBScript

Description | Élément de langage
Se produit lorsqu'une instance de la classe associée est créée. | Initialize, événement
Se produit lorsqu'une instance de la classe associée prend fin. | Terminate, événement


Initialize, événement

Se produit lorsqu'une instance de la classe associée est créée.

Private Sub Class_Initialize()
   instructions
End Sub

La partie instructions consiste en zéro instruction de code ou plus à exécuter lors de l'initialisation de la classe.

Notes

L'exemple ci-dessous illustre l'utilisation de l'événement Initialize.

Class TestClass
   Private Sub Class_Initialize   ' Configuration de l'événement Initialize.
      MsgBox("TestClass démarré")
   End Sub
   Private Sub Class_Terminate   ' Configuration de l'événement Terminate.
      MsgBox("TestClass terminé")
   End Sub
End Class

Set X = New TestClass   ' Créer une instance de TestClass.
Set X = Nothing   ' Détruire l'instance.

Version requise

Version 5

Voir aussi

Class, objet | Class, instruction | Terminate, événement

Application : Class, objet


Terminate, événement

Se produit lorsqu'une instance de la classe associée prend fin.

Private Sub Class_Terminate()
   instructions
End Sub

La partie instructions consiste en zéro instruction de code ou plus à exécuter lors de l'initialisation de la classe.

Notes

L'exemple ci-dessous illustre l'utilisation de l'événement Terminate.

Class TestClass
   Private Sub Class_Initialize   ' Configuration de l'événement Initialize.
      MsgBox("TestClass démarré")
   End Sub
    Private Sub Class_Terminate   ' Configuration de l'événement Terminate.
      MsgBox("TestClass terminé")
   End Sub
End Class
Set X = New TestClass   ' Crée une instance de TestClass.
Set X = Nothing   ' Détruire l'instance.

Version requise

Version 5

Voir aussi

Class, objet | Class, instruction | Initialize, événement

Application : Class, objet


Fonctions de VBScript

Description | Élément de langage
Renvoie la valeur absolue d'un nombre. | Abs, fonction
Renvoie une variable de type Variant contenant un tableau. | Array, fonction
Renvoie le code de caractère ANSI correspondant à la première lettre d'une chaîne. | Asc, fonction
Renvoie l'arc tangente d'un nombre. | Atn, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Boolean. | CBool, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Byte. | CByte, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Currency. | CCur, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Date. | CDate, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Double. | CDbl, fonction
Renvoie le caractère associé au code de caractère ANSI spécifié. | Chr, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Integer. | CInt, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Long. | CLng, fonction
Renvoie le cosinus d'un angle. | Cos, fonction
Crée et renvoie une référence à un objet Automation. | CreateObject, fonction
Renvoie une expression qui a été convertie en Variant de sous-type Single. | CSng, fonction
Renvoie une expression qui a été convertie en Variant de sous-type String. | CStr, fonction
Renvoie la date système courante. | Date, fonction
Renvoie une date à laquelle un intervalle spécifique a été ajouté. | DateAdd, fonction
Renvoie le nombre d'intervalles entre deux dates. | DateDiff, fonction
Renvoie la partie spécifiée d'une date donnée. | DatePart, fonction
Renvoie un Variant de sous-type Date pour une année, un mois et un jour spécifiés. | DateSerial, fonction
Renvoie un Variant de sous-type Date. | DateValue, fonction
Renvoie un nombre entier compris entre 1 et 31 inclus, représentant le jour du mois. | Day, fonction
Évalue une expression et renvoie le résultat. | Eval, fonction
Renvoie e (la base des logarithmes népériens) élevé à une puissance. | Exp, fonction
Renvoie un tableau commençant par zéro contenant un sous-ensemble d'un tableau de chaîne basé sur des critères de filtre spécifiés. | Filter, fonction
Renvoie la partie entière d'un nombre. | Fix, fonction
Renvoie une expression formatée sous forme de valeur de type Currency utilisant le symbole monétaire défini dans le Panneau de configuration du système. | FormatCurrency, fonction
Renvoie une expression formatée sous forme de date ou d'heure. | FormatDateTime, fonction
Renvoie une expression formatée sous forme de nombre. | FormatNumber, fonction
Renvoie une expression formatée sous forme de pourcentage (multiplié par 100) avec un caractère de fin %. | FormatPercent, fonction
Renvoie la valeur de l'ID de langue en cours. | GetLocale, fonction
Renvoie une référence à l'objet Automation d'un fichier. | GetObject, fonction
Renvoie une référence à une procédure éventuellement liée à un événement. | GetRef, fonction
Renvoie une chaîne représentant la valeur hexadécimale d'un nombre. | Hex, fonction
Renvoie un nombre entier compris entre 0 et 23 inclus, représentant l'heure du jour. | Hour, fonction
Affiche une invite dans une boîte de dialogue, attend que l'utilisateur entre du texte ou choisisse un bouton et renvoie le contenu de la zone de texte. | InputBox, fonction
Renvoie la position de la première occurrence d'une chaîne à l'intérieur d'une autre. | InStr, fonction
Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne. | InStrRev, fonction
Renvoie la partie entière d'un nombre. | Int, fonction
Renvoie une valeur booléenne indiquant si la variable est un tableau. | IsArray, fonction
Renvoie une valeur booléenne indiquant si une expression peut être convertie en date. | IsDate, fonction
Renvoie une valeur booléenne indiquant si une variable a été initialisée. | IsEmpty, fonction
Renvoie une valeur booléenne indiquant si une expression contient des données valides ou non (Null). | IsNull, fonction
Renvoie une valeur booléenne indiquant si une expression peut être évaluée sous la forme d'un nombre. | IsNumeric, fonction
Renvoie une valeur booléenne indiquant si une expression fait référence à un objet Automation valide. | IsObject, fonction
Renvoie une chaîne créée par la jonction de plusieurs sous-chaînes contenues dans un tableau. | Join, fonction
Renvoie le plus petit indice disponible pour la dimension indiquée d'un tableau. | LBound, fonction
Renvoie une chaîne qui a été convertie en minuscules. | LCase, fonction
Renvoie un nombre spécifié de caractères à partir de la gauche d'une chaîne. | Left, fonction
Renvoie le nombre de caractères contenus dans une chaîne, ou le nombre d'octets requis pour stocker une variable. | Len, fonction
Renvoie un objet image. Disponible seulement sur les plates-formes 32 bits. | LoadPicture, fonction
Renvoie le logarithme népérien d'un nombre. | Log, fonction
Renvoie une copie d'une chaîne sans espaces à gauche. | LTrim, fonction
Renvoie un nombre spécifié de caractères d'une chaîne. | Mid, fonction
Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la minute de l'heure. | Minute, fonction
Renvoie un nombre entier compris entre 1 et 12 inclus, représentant le mois de l'année. | Month, fonction
Renvoie une chaîne indiquant le mois spécifié. | MonthName, fonction
Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton et renvoie une valeur indiquant le bouton choisi par l'utilisateur. | MsgBox, fonction
Renvoie la date et l'heure en cours en fonction de leur paramétrage dans le système de votre ordinateur. | Now, fonction
Renvoie une chaîne représentant la valeur octale d'un nombre. | Oct, fonction
Renvoie une chaîne dans laquelle une sous-chaîne donnée a été remplacée par une autre sous-chaîne le nombre de fois spécifié. | Replace, fonction
Renvoie un nombre entier représentant une valeur de couleur RVB. | RGB, fonction
Renvoie un nombre spécifié de caractères à partir de la droite d'une chaîne. | Right, fonction
Renvoie un nombre aléatoire. | Rnd, fonction
Renvoie un nombre arrondi à un nombre spécifié de positions décimales. | Round, fonction
Renvoient une copie d'une chaîne sans espaces à droite. | RTrim, fonction
Renvoie une chaîne représentant le langage de script utilisé. | ScriptEngine, fonction
Renvoie le numéro de compilation du moteur de script employé. | ScriptEngineBuildVersion, fonction
Renvoie le numéro de version principal du moteur de script employé. | ScriptEngineMajorVersion, fonction
Renvoie le numéro de version secondaire du moteur de script employé. | ScriptEngineMinorVersion, fonction
Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la seconde de la minute. | Second, fonction
Renvoie un entier indiquant le signe d'un nombre. | Sgn, fonction
Renvoie le sinus d'un angle. | Sin, fonction
Renvoie une chaîne composée d'un nombre spécifié d'espaces. | Space, fonction
Renvoie un tableau à une dimension commençant par zéro contenant le nombre spécifié de sous-chaînes. | Split, fonction
Renvoie la racine carrée d'un nombre. | Sqr, fonction
Renvoie une valeur indiquant le résultat d'une comparaison de chaîne. | StrComp, fonction
Renvoie une chaîne constituée d'un caractère répété sur la longueur spécifiée. | String, fonction
Renvoie une chaîne contenant des caractères dont l'ordre a été inversé par rapport à une chaîne donnée. | StrReverse, fonction
Renvoie la tangente d'un angle. | Tan, fonction
Renvoie un Variant de sous-type Date indiquant l'heure système en cours. | Time, fonction
Renvoie le nombre de secondes qui se sont écoulées depuis 00:00 (minuit). | Timer, fonction
Renvoie un Variant de sous-type Date contenant l'heure correspondant à des éléments spécifiques d'heure, de minute et de seconde. | TimeSerial, fonction
Renvoie un Variant de sous-type Date contenant l'heure. | TimeValue, fonction
Renvoie une copie d'une chaîne sans espaces ni à gauche ni à droite. | Trim, fonction
Renvoie une chaîne qui fournit des informations de sous-type Variant sur une variable. | TypeName, fonction
Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau. | UBound, fonction
Renvoie une chaîne qui a été convertie en majuscules. | UCase, fonction
Renvoie une valeur indiquant le sous-type d'une variable. | VarType, fonction
Renvoie un nombre entier représentant le jour de la semaine. | Weekday, fonction
Renvoie une chaîne indiquant le jour de la semaine spécifié. | WeekdayName, fonction
Renvoie un nombre entier représentant l'année. | Year, fonction


Abs, fonction

Renvoie la valeur absolue d'un nombre.

Abs(number)

L'argument number peut être toute expression numérique valide. Si number contient Null, Null est renvoyé ; s'il s'agit d'une variable non initialisée, zéro est renvoyé.

Notes

La valeur absolue d'un nombre correspond à la valeur de ce dernier privée du signe. Par exemple, Abs(- 1) et Abs(1) renvoient tous deux 1.

L'exemple ci-dessous utilise la fonction Abs pour calculer la valeur absolue d'un nombre :

Dim MyNumber
MyNumber = Abs(50.3)  ' Renvoie 50,3.
MyNumber = Abs(-50.3) ' Renvoie 50,3.

Version requise

Version 1

Sgn, fonction


Array, fonction

Renvoie une variable de type Variant contenant un tableau.

Array(arglist)

L'argument arglist correspond à une liste de valeurs séparées par des virgules affectée aux éléments d'un tableau contenu dans la variable Variant. Si aucun argument n'est spécifié, un tableau de longueur nulle est créé.

Notes

La notation utilisée pour faire référence à un élément d'un tableau est composée du nom de variable suivi de parenthèses contenant un numéro d'index précisant l'élément concerné. Dans l'exemple suivant, la première instruction crée une variable A. La deuxième instruction affecte un tableau à la variable A. La dernière instruction affecte la valeur contenue dans le deuxième élément du tableau à une autre variable.

Dim A
A = Array(10,20,30)
B = A(2)   ' B a désormais la valeur 30.

Remarque Une variable qui n'est pas déclarée comme tableau peut quand même contenir un tableau. Bien qu'une variable de type Variant contenant un tableau soit différente d'une variable de tableau contenant des éléments Variant, l'accès aux éléments du tableau s'effectue de la même manière.

Version requise

Version 2

Dim, instruction


Asc, fonction

Renvoie le code de caractère ANSI correspondant à la première lettre d'une chaîne.

Asc(string)

L'argument string correspond à toute expression de chaîne valide. Si string ne contient aucun caractère, une erreur d'exécution se produit.

Notes

Dans l'exemple suivant, Asc renvoie le code de caractère ANSI de la première lettre de chaque chaîne :

Dim MyNumber
MyNumber = Asc("A")       ' Renvoie 65.
MyNumber = Asc("a")       ' Renvoie 97.
MyNumber = Asc("Apple")   ' Renvoie 65.

Remarque Une autre fonction (AscB) peut être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer le code de caractère du premier caractère, AscB renvoie le premier octet. AscW est disponible sur les plates-formes 32 bits qui utilisent des caractères Unicode. Elle renvoie le code de caractère Unicode (large), ce qui évite une conversion de Unicode à ANSI.

Version requise

Version 1

Chr, fonction


Atn, fonction

Renvoie l'arc tangente d'un nombre.

Atn(number)

L'argument number peut être toute expression numérique valide.

Notes

La fonction Atn prend le rapport des deux côtés d'un triangle rectangle (number) et renvoie l'angle correspondant exprimé en radians. Le rapport est la longueur du côté opposé à l'angle divisée par la longueur du côté adjacent à l'angle. Le résultat est compris entre –pi /2 et pi/2 radians.

Pour convertir des degrés en radians, multipliez les degrés par pi/180. Pour convertir des radians en degrés, multipliez les radians par 180/pi.

L'exemple ci-dessous utilise la fonction Atn pour calculer la valeur de pi :

Dim pi
pi = 4 * Atn(1)   ' Calcule la valeur de pi.

Remarque Atn est la fonction trigonométrique inverse de Tan, qui prend un angle comme son argument et renvoie le rapport des deux côtés d'un triangle rectangle. Ne confondez pas Atn avec la cotangente, qui est l'inverse simple d'une tangente (1/tangente).

Version requise

Version 1

Voir aussi

Cos, fonction | Fonctions mathématiques dérivées | Sin, fonction | Tan, fonction


CBool, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Boolean.

CBool(expression)

L'argument expression est toute expression valide.

Notes

Si expression correspond à zéro, la valeur False est renvoyée ; si tel n'est pas le cas, la valeur True est renvoyée. Si l'argument expression ne peut être interprété comme valeur numérique, une erreur d'exécution se produit.

L'exemple suivant utilise la fonction CBool pour convertir une expression en Boolean. Si l'expression représente une valeur non nulle, CBool renvoie True ; sinon elle renvoie False.

Dim A, B, Check
A = 5: B = 5           ' Initialise les variables.
Check = CBool(A = B)   ' Check contient True.
A = 0                  ' Définit la variable.
Check = CBool(A)       ' Check contient False.

Version requise

Version 1

Voir aussi

CByte, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CLng, fonction | CSng, fonction | CStr, fonction


CByte, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Byte.

CByte(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code à l'aide des fonctions de conversion des sous-types pour indiquer que le résultat d'une certaine opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez CByte pour forcer l'arithmétique octet dans les cas où l'arithmétique monétaire, en simple précision, en double précision ou en nombre entier serait normalement utilisée.

Utilisez la fonction CByte pour effectuer des conversions reconnues au niveau international de tout autre type de données en sous-type Byte. Par exemple, différents séparateurs décimaux sont correctement reconnus selon les paramètres régionaux de votre système, comme le sont les différents séparateurs de milliers.

Si l'argument expression n'est pas compris dans la plage acceptable pour le sous-type Byte, une erreur se produit. L'exemple suivant utilise la fonction CByte pour convertir une expression en octet :

Dim MyDouble, MyByte
MyDouble = 125,5678        ' MyDouble est un Double.
MyByte = CByte(MyDouble)   ' MyByte contient 126.

Version requise

Version 1

Voir aussi

CBool, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CLng, fonction | CSng, fonction | CStr, fonction


CCur, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Currency.

CCur(expression)

L'argument expression correspond à n'importe quelle expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant les fonctions de conversion de sous-type pour indiquer que le résultat de certaines opérations doit être exprimé sous la forme d'un type de données particulier et non sous la forme du type de données par défaut. Par exemple, utilisez la fonction CCur pour forcer l'emploi d'une arithmétique monétaire lorsqu'une arithmétique entière devrait normalement être utilisée.

Il convient d'employer la fonction CCur pour convertir d'autres types de données en un sous-type Currency tout en respectant les conventions internationales. Par exemple différents séparateurs décimaux et séparateurs de milliers sont correctement reconnus en fonction des paramètres régionaux de votre système.

L'exemple suivant utilise la fonction CCur pour convertir une expression en Currency :

Dim MyDouble, MyCurr
MyDouble = 543,214588         ' MyDouble est un Double.
MyCurr = CCur(MyDouble * 2)   ' Convertit le résultat de MyDouble * 2 (1086,429176) en Currency (1086,4292).

Version requise

Version 1

Voir aussi

CBool, fonction | CByte, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CLng, fonction | CSng, fonction | CStr, fonction


CDate, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Date.

CDate(date)

L'argument date représente toute expression date valide.

Notes

Utilisez la fonction IsDate pour déterminer si l'argument date peut être converti en date ou en heure. CDate reconnaît les littéraux de date et heure ainsi que certains nombres compris dans la plage des dates acceptables. Lors de la conversion d'un nombre en date, la partie entière du nombre est convertie en date. Toute partie fractionnaire du nombre est convertie en heure du jour, commençant à minuit.

CDate reconnaît les formats de date en fonction des paramètres régionaux de votre système. L'ordre correct du jour, du mois et de l'année ne peut être déterminé s'il est fourni dans un format différent de celui reconnu par votre paramétrage de date. Par ailleurs, un format de date de type long n'est pas reconnu s'il contient aussi la chaîne jour de la semaine.

L'exemple ci-dessous utilise la fonction CDate pour convertir une chaîne en date. En général, l'utilisation de chaînes pour stocker des dates et des heures (comme dans cet exemple) n'est pas recommandée. Utilisez des littéraux date et heure (comme #19/10/1962#, #16:45:23#).

MyDate = "19 octobre 1962"   ' Définit la date.
MyShortDate = CDate(MyDate)   ' Convertit en type de données Date.
MyTime = "16:35:47"           ' Définit l'heure.
MyShortTime = CDate(MyTime)   ' Convertit en type de données Date.

Version requise

Version 1

IsDate, fonction


CDbl, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Double.

CDbl(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant les fonctions de conversion des sous-types pour indiquer que le résultat d'une opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez la fonction CDbl ou CSng pour forcer l'arithmétique en double ou en simple précision dans les cas où l'arithmétique monétaire ou entier serait normalement utilisée.

Utilisez la fonction CDbl pour fournir des conversions reconnues au niveau international de tout autre type de données en sous-type Double. Par exemple, différents séparateurs décimaux et séparateurs de milliers sont correctement reconnus en fonction des paramètres régionaux de votre système.

Cet exemple utilise la fonction CDbl pour convertir une expression en type Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)              ' MyCurr est de type Currency (234,4567).
MyDouble = CDbl(MyCurr * 8.2 * 0.01)   ' Convertit le résultat en Double (19,2254576).

Version requise

Version 1

Voir aussi

CBool, fonction | Cbyte, fonction | CCur, fonction | CDate, fonction | CInt, fonction | CLng, fonction | CSng, fonction | CStr, fonction


Chr, fonction

Renvoie le caractère associé au code de caractère ANSI spécifié.

Chr(charcode)

L'argument charcode représente un nombre qui identifie un caractère.

Note

Les nombres de 0 à 31 sont identiques aux codes ASCII standard, non imprimables. Par exemple, Chr(10) renvoie un caractère de retour à la ligne.

L'exemple ci-dessous utilise la fonction Chr pour renvoyer le caractère associé au code spécifié :

Dim MyChar
MyChar = Chr(65)   ' Renvoie A.
MyChar = Chr(97)   ' Renvoie a.
MyChar = Chr(62)   ' Renvoie >.
MyChar = Chr(37)   ' Renvoie %.

Remarque Une autre fonction (ChrB) peut être utilisée avec les données d'octet contenues dans une chaîne. Au lieu de renvoyer un caractère, qui peut être un ou deux octets, la fonction ChrB renvoie toujours un seul octet. ChrW est disponible pour les plates-formes 32 bits utilisant des caractères Unicode. Son argument est un code de caractère Unicode (large), ce qui évite une conversion de ANSI à Unicode.

Version requise

Version 1

Asc, fonction


CInt, fonction

Renvoie expression qui a été convertie en un Variant de sous-type Integer.

CInt(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant les fonctions de conversion des sous-types pour indiquer que le résultat d'une opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez la fonction CInt ou CLng pour forcer l'arithmétique entier dans les cas où l'arithmétique monétaire, en simple précision ou en double précision serait normalement utilisée.

Utilisez la fonction CInt pour fournir des conversions reconnues au niveau international de tout autre type de données en sous-type Integer. Par exemple, différents séparateurs décimaux et séparateurs des milliers sont reconnus en fonction des paramètres régionaux de votre système.

Si l'argument expression n'est pas compris dans la plage acceptable pour le sous-type Integer, une erreur se produit.

L'exemple ci-dessous utilise la fonction CInt pour convertir une valeur en entier (Integer) :

Dim MyDouble, MyInt
MyDouble = 2345,5678     ' MyDouble est un Double.
MyInt = CInt(MyDouble)   ' MyInt contient 2346.

Remarque La fonction CInt est différente des fonctions Fix et Int qui tronquent au lieu d'arrondir la mantisse d'un nombre. Quand la mantisse est exactement 0,5, la fonction CInt l'arrondit toujours au nombre pair le plus proche. Par exemple, 0,5 est arrondi à 0 et 1,5 est arrondi à 2.

Version requise

Version 1

Voir aussi

CBool, fonction | Cbyte, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CLng, fonction | CSng, fonction | CStr, fonction | Int, Fix, fonctions


CLng, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Long.

CLng(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant les fonctions de conversion des sous-types pour indiquer que le résultat d'une opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez la fonction CInt ou CLng pour forcer l'arithmétique entier dans les cas où l'arithmétique monétaire, en simple précision ou en double précision serait normalement utilisée.

Utilisez la fonction CLng pour fournir des conversions reconnues au niveau international de tout autre type de données en sous-type Long. Par exemple, différents séparateurs décimaux et séparateurs des milliers sont correctement reconnus en fonction des paramètres régionaux de votre système.

Si l'argument expression n'est pas compris dans la plage acceptable pour le sous-type Long, une erreur se produit.

L'exemple ci-dessous utilise la fonction CLng pour convertir une valeur en entier de type Long :

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55   ' MyVal1, MyVal2 sont des Doubles.
MyLong1 = CLng(MyVal1)   ' MyLong1 contient 25427.
MyLong2 = CLng(MyVal2)   ' MyLong2 contient 25428.

Remarque La fonction CLng est différente des fonctions Fix et Int qui tronquent au lieu d'arrondir la mantisse d'un nombre. Quand la mantisse est exactement 0,5, la fonction CLng l'arrondit toujours au nombre pair le plus proche. Par exemple, 0,5 est arrondi à 0 et 1,5 est arrondi à 2.

Version requise

Version 1

Voir aussi

CBool, fonction | Cbyte, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CSng, fonction | CStr, fonction | Int, Fix, fonctions


Fonctions de conversion

Asc, fonction

CBool, fonction

CByte, fonction

CCur, fonction

CDate, fonction

CDbl, fonction

Chr, fonction

CInt, fonction

CLng, fonction

CSng, fonction

CStr, fonction

Hex, fonction

Oct, fonction


Cos, fonction

Renvoie le cosinus d'un angle.

Cos(number)

L'argument number peut être toute expression numérique valide exprimant un angle en radians.

Notes

La fonction Cos prend un angle et renvoie le rapport des deux côtés d'un triangle rectangle. Le rapport correspond à la longueur du côté adjacent à l'angle divisée par la longueur de hypoténuse. Le résultat est compris entre -1 et 1.

Pour convertir des degrés en radians, multipliez les degrés par pi./180. Pour convertir des radians en degrés, multipliez les radians par 180/pi.

L'exemple ci-dessous utilise la fonction Cos pour renvoyer le cosinus d'un angle :

Dim MyAngle, MySecant
MyAngle = 1.3                 ' Définir l'angle en radians.
MySecant = 1 / Cos(MyAngle)   ' Calculer la sécante.

Version requise

Version 1

Voir aussi

Atn, fonction | Fonctions mathématiques dérivées | Sin, fonction | Tan, fonction


CreateObject, fonction

Crée et renvoie une référence à un objet Automation.

CreateObject(servername.typename [, location])

Arguments

servername

Requis. Le nom de l'application fournissant l'objet.

typename

Requis. Le type ou la classe de l'objet à créer.

location

Facultatif. Le nom du serveur réseau sur lequel l'objet doit être créé.

Notes

Les serveurs Automation fournissent au moins un type d'objet. Par exemple, une application de traitement de texte peut fournir un objet d'application, un objet de document et un objet de barre d'outils.

Pour créer un objet Automation, affectez l'objet renvoyé par CreateObject à une variable objet :

Dim ExcelSheet
Set ExcelSheet = CreateObject("Excel.Sheet")

Ce code démarre l'application qui crée l'objet (dans ce cas, une feuille de calcul Microsoft Excel). Une fois qu'un objet a été créé, faites référence à ce dernier dans le code en utilisant la variable objet définie. Comme l'indique l'exemple suivant, vous pouvez accéder aux propriétés et aux méthodes du nouvel objet à l'aide de la variable objet, ExcelSheet, et d'autres objets Excel, notamment l'objet Application et la collection ActiveSheet.Cells.

' Rend Excel visible par l'intermédiaire de l'objet Application.
ExcelSheet.Application.Visible = True
' Place du texte dans la première cellule de la feuille.
ExcelSheet.ActiveSheet.Cells(1,1).Value = "Colonne A, ligne 1"
' Enregistre la feuille.
ExcelSheet.SaveAs "C:.XLS"
' Ferme Excel avec la méthode Quit sur l'objet Application.
ExcelSheet.Application.Quit
' Libère la variable objet.
Set ExcelSheet = Nothing

Vous pouvez uniquement créer un objet sur un serveur distant lorsque la sécurité Internet est désactivée. Pour ce faire, il convient de transmettre le nom de la machine à l'argument servername de la fonction CreateObject. Dans un nom de partage, ce nom correspond à la partie réservée au nom de la machine. Par exemple, dans le nom de partage réseau "\\myserver\public", le nom du serveur (servername) correspond à "myserver". En outre, vous pouvez spécifier l'argument servername au format DNS ou sous la forme d'une adresse IP.

Le code suivant renvoie le numéro de version d'une instance d'Excel qui s'exécute sur un ordinateur réseau distant appelé "myserver" :

Function GetVersion
   Dim XLApp
   Set XLApp = CreateObject("Excel.Application", "MyServer")
   GetVersion = XLApp.Version
End Function

Une erreur se produit si le serveur distant spécifié est inexistant ou introuvable.

Version requise

Version 2

GetObject, fonction


CSng, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type Single.

CSng(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant les fonctions de conversion des types de données pour indiquer que le résultat d'une opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez la fonction CDbl ou CSng pour forcer l'arithmétique en double ou en simple précision dans les cas où l'arithmétique monétaire ou entier serait normalement utilisée.

Utilisez la fonction CSng pour fournir des conversions reconnues au niveau international de tout autre type de données en sous-type Single. Par exemple, différents séparateurs décimaux sont correctement reconnus en fonction des paramètres régionaux de votre système, comme les différents séparateurs de milliers.

Si l'argument expression n'est pas compris dans la plage acceptable pour le sous-type Single, une erreur se produit.

L'exemple ci-dessous utilise la fonction CSng pour convertir une valeur en Single :

Dim MyDouble1, MyDouble2, MySingle1, MySingle2   ' MyDouble1, MyDouble2 sont des Doubles.
MyDouble1 = 75,3421115: MyDouble2 = 75,3421555
MySingle1 = CSng(MyDouble1)   ' MySingle1 contient 75,34211.
MySingle2 = CSng(MyDouble2)   ' MySingle2 contient 75,34216.

Version requise

Version 1

Voir aussi

CBool, fonction | Cbyte, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CLng, fonction | CStr, fonction


CStr, fonction

Renvoie une expression qui a été convertie en un Variant de sous-type String.

CStr(expression)

L'argument expression représente toute expression valide.

Notes

En général, vous pouvez documenter votre code en utilisant des fonctions de conversion des types de données pour indiquer que le résultat d'une opération doit être exprimé sous forme d'un type de données particulier plutôt que sous la forme du type de données par défaut. Par exemple, utilisez la fonction CStr pour forcer le résultat à être exprimé sous forme d'un sous-type String.

Vous devez utiliser la fonction CStr à la place de Str pour fournir des conversions reconnues au niveau international de tout autre type de données en sous-type String. Par exemple, différents séparateurs décimaux sont correctement reconnus en fonction des paramètres régionaux de votre système.

Les données contenues dans l'argument expression déterminent ce qui est renvoyé conformément au tableau suivant :

Si expression est | La fonction CStr renvoie
Boolean | Un String contenant True ou False.
Date | Un String contenant une date dans le format court de votre système.
Null | Une erreur d'exécution.
Empty | Un String de longueur nulle ("").
Error | Un String contenant le mot Erreur suivi d'un numéro d'erreur.
Autre élément numérique | Un String contenant le nombre.

L'exemple ci-dessous utilise la fonction CStr pour convertir une valeur numérique en String (chaîne) :

Dim MyDouble, MyString
MyDouble = 437,324         ' MyDouble est un Double.
MyString = CStr(MyDouble)   ' MyString contient "437,324".

Version requise

Version 1

Voir aussi

CBool, fonction | Cbyte, fonction | CCur, fonction | CDate, fonction | CDbl, fonction | CInt, fonction | CLng, fonction | CSng, fonction


Date, fonction

Renvoie la date système courante.

Date

Notes

L'exemple ci-dessous utilise la fonction Date pour renvoyer la date système actuelle :

Dim MyDate
MyDate = Date   ' MyDate contient la date système actuelle.

Version requise

Version 1

CDate, fonction | Now, fonction | Time, fonction


DateAdd, fonction

Renvoie une date à laquelle un intervalle spécifique a été ajouté.

DateAdd(interval, number, date)

Arguments

interval

Requis. Expression de chaîne correspondant à l'intervalle à ajouter. Les valeurs sont indiquées dans la section Paramètres.

number

Requis. Expression numérique précisant le nombre d'intervalles à ajouter. L'expression numérique peut être positive, pour les dates dans le futur, ou négative pour les dates dans le passé.

date

Requis. Variant ou littéral représentant la date à laquelle l'argument interval est ajouté.

Paramètres

L'argument interval peut prendre les valeurs suivantes :

Valeur | Description
yyyy | Année
q | Trimestre
m | Mois
y | Jour de l'année
d | Jour
w | Jour de la semaine
ww | Semaine
h | Heure
n | Minute
s | Seconde

Notes

La fonction DateAdd permet d'additionner à une date un intervalle spécifique, ou de le soustraire. Par exemple, DateAdd permet de calculer une date à 30 jours d'aujourd'hui ou une heure à 45 minutes de maintenant. Pour ajouter des jours à l'argument date, vous pouvez utiliser Jour de l'année ("y"), Jour ("d") ou Jour de la semaine ("w").

La fonction DateAdd ne renvoie pas une date incorrecte. L'exemple suivant ajoute un mois au 31 janvier :

NouvDate = DateAdd("m", 1, "31-Jan-95")

Dans ce cas, la fonction DateAdd renvoie 28-Fév-95, et non 31-Fév-95. Si l'argument date a la valeur 31-Jan- 96, la fonction renvoie 29-Fév-96, puisque 1996 est une année bissextile.

Si la date calculée précède l'année 100, une erreur se produit.

Si un nombre ne correspond pas à une valeur de type Long, il est arrondi au nombre entier le plus proche avant d'être évalué.

Version requise

Version 2

DateDiff, fonction | DatePart, fonction


DateDiff, fonction

Renvoie le nombre d'intervalles entre deux dates.

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

La syntaxe de la fonction DateDiff comprend les éléments suivants :

Arguments

interval

Expression de chaîne correspondant à l'intervalle à utiliser pour calculer la différence entre date1 et date2. Reportez-vous à la section Paramètres.

date1, date2

Expressions de date. Deux dates à utiliser dans le calcul.

firstdayofweek

Facultatif. Constante qui spécifie le jour de la semaine. Si elle n'est pas spécifiée, dimanche est pris par défaut. Reportez-vous à la section Paramètres.

firstweekofyear

Facultatif. Constante spécifiant la première semaine de l'année. Si elle n'est pas spécifiée, la première semaine sera celle incluant le 1er janvier. Reportez-vous à la section Paramètres.

Paramètres

L'argument interval peut prendre les valeurs suivantes :

Valeur | Description
yyyy | Année
q | Trimestre
m | Mois
y | Jour de l'année
d | Jour
w | Jour de la semaine
ww | Semaine
h | Heure
n | Minute
s | Seconde

L'argument firstdayofweek peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur API NLS.
vbSunday | 1 | Dimanche (valeur par défaut)
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi

L'argument firstweekofyear peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur API NLS.
vbFirstJan1 | 1 | Commence par la semaine incluant le 1er janvier (valeur par défaut).
vbFirstFourDays | 2 | Commence par la semaine comportant au moins quatre jours dans la nouvelle année.
vbFirstFullWeek | 3 | Commence par la première semaine complète de la nouvelle année.

Notes

La fonction DateDiff permet de déterminer combien d'intervalles spécifiés sont compris entre deux dates. Par exemple, elle peut calculer le nombre de jours entre deux dates, ou le nombre de semaines entre aujourd'hui et la fin de l'année.

Pour calculer le nombre de jours entre date1 et date2, vous pouvez utiliser Jour de l'année ("y") ou Jour ("d"). Lorsque l'argument interval a la valeur Jour de la semaine ("w"), la fonction DateDiff renvoie le nombre de semaines entre les deux dates. Si date1 tombe un lundi, la fonction DateDiff compte le nombre de lundis jusqu'à date2. Il compte date2 mais pas date1. Cependant, si l'argument interval a la valeur Semaine ("ww"), la fonction DateDiff renvoie le nombre de semaines de calendrier entre les deux dates. Elle compte le nombre de dimanches entre date1 et date2. La fonction DateDiff compte date2 si elle tombe un dimanche, mais ne compte pas date1, même si elle tombe un dimanche.

Si date1 se réfère à un moment ultérieur à date2, la fonction DateDiff renvoie un nombre négatif.

L'argument firstdayofweek a une incidence sur le calcul utilisant les symboles d'intervalle "w" et "ww".

Si date1 ou date2 correspond à un littéral de date, l'année spécifiée devient partie permanente de cette date. Cependant, si date1 ou date2 est placé entre guillemets (" "), et si vous omettez l'année, l'année courante est insérée dans votre code lors de chaque évaluation de l'expression date1 ou date2. Il est ainsi possible d'écrire du code utilisable pendant plusieurs années.

Lors du calcul d'intervalle entre le 31 décembre de l'année précédente et le 1er janvier, la fonction DateDiff renvoie 1 pour Année ("yyyy"), même si un seul jour s'est écoulé.

L'exemple ci-dessous utilise la fonction DateDiff pour afficher le nombre de jours entre une date donnée et aujourd'hui :

Function DiffADate(theDate)
   DiffADate = "Jours à partir d'aujourd'hui: " & DateDiff("d", Now, theDate)
End Function

Version requise

Version 2

DateAdd, fonction | DatePart, fonction


DatePart, fonction

Renvoie la partie spécifiée d'une date donnée.

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Arguments

interval

Expression de chaîne représentant l'intervalle à renvoyer. Reportez-vous à la section Paramètres.

date

Expression de date à évaluer.

firstdayofweek

Facultatif. Constante qui spécifie le jour de la semaine. Si elle n'est pas spécifiée, dimanche est pris par défaut. Reportez-vous à la section Paramètres.

firstweekofyear

Facultatif. Constante spécifiant la première semaine de l'année. Si elle n'est pas spécifiée, la première semaine sera celle incluant le 1er janvier. Reportez-vous à la section Paramètres.

Paramètres

L'argument interval peut prendre les valeurs suivantes :

Valeur | Description
yyyy | Année
q | Trimestre
m | Mois
y | Jour de l'année
d | Jour
w | Jour de la semaine
ww | Semaine
h | Heure
n | Minute
s | Seconde

L'argument firstdayofweek peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur API NLS.
vbSunday | 1 | Dimanche (valeur par défaut)
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi

L'argument firstweekofyear peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur API NLS.
vbFirstJan1 | 1 | Commence par la semaine incluant le 1er janvier (valeur par défaut).
vbFirstFourDays | 2 | Commence par la semaine comportant au moins quatre jours dans la nouvelle année.
vbFirstFullWeek | 3 | Commence par la première semaine complète de la nouvelle année.

Notes

La fonction DatePart permet d'évaluer une date et de renvoyer un intervalle spécifique. Vous pouvez notamment l'utiliser pour calculer le jour de la semaine ou l'heure courante.

L'argument firstdayofweek a une incidence sur le calcul utilisant les symboles d'intervalle "w" et "ww".

Si date est un littéral de date, l'année spécifiée devient une partie permanente de cette date. Cependant, si date est entre guillemets (" "), et si vous omettez l'année, l'année courante est introduite dans votre code à chaque évaluation de l'expression date. Il est ainsi possible d'écrire du code utilisable pendant plusieurs années.

Cet exemple prend une date et, à l'aide de la fonction DatePart, affiche le trimestre concerné.

Function GetQuarter(TheDate)
   GetQuarter = DatePart("q", TheDate)
End Function

Version requise

Version 2

DateAdd, fonction | DateDiff, fonction


DateSerial, fonction

Renvoie un Variant de sous-type Date pour une année, un mois et un jour spécifiés.

DateSerial(year, month, day)

Arguments

year

Nombre compris entre 100 et 9999 inclus, ou une expression numérique.

month

Toute expression numérique.

day

Toute expression numérique.

Notes

Pour spécifier une date telle que le 31 décembre 1991, la plage des nombres pour chaque argument DateSerial doit être normalement comprise dans la plage acceptée pour l'unité ; autrement dit, 1–31 pour les jours et 1–12 pour les mois. Toutefois, vous pouvez aussi spécifier des dates relatives pour chaque argument en utilisant toute expression numérique représentant un certain nombre de jours, de mois ou d'années antérieurs ou postérieurs à une date donnée.

L'exemple suivant utilise des expressions numériques à la place des nombres absolus de date. Ici, la fonction DateSerial renvoie une date correspondant au jour précédant le premier jour (1 - 1), deux mois précédant le mois d'août (8 - 2), 10 ans avant 1990 (1990 - 10) ; en d'autres termes, le 31 mai 1980.

Dim MyDate1, MyDate2
MyDate1 = DateSerial(1970, 1, 1)   ' Renvoie 1 janvier 1970.
MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1)   ' Renvoie 31 mai 1980.

Pour l'argument year, les valeurs comprises entre 0 et 99 inclus sont interprétées comme les années 1900–1999. Pour tous les autres arguments year, utilisez une année complète à quatre chiffres (par exemple, 1800).

Quand tout argument excède la plage normalement acceptée pour cet argument, l'incrémentation s'effectue sur l'unité supérieure suivante qui convient. Par exemple, si vous spécifiez 35 jours, ils sont transformés en un mois et un certain nombre de jours, selon le moment de l'année auxquels ils s'appliquent. Toutefois, si un seul argument se situe hors de la plage -32 768 à 32 767, ou si la date spécifiée par les trois arguments, soit directement ou par expression, n'est pas comprise dans la plage acceptable des dates, une erreur se produit.

Version requise

Version 1

Voir aussi

Date, fonction | DateValue, fonction | Day, fonction | Month, fonction | Now, fonction | TimeSerial, fonction | TimeValue, fonction | Weekday, fonction | Year, fonction


DateValue, fonction

Renvoie un Variant de sous-type Date.

DateValue(date)

L'argument date est normalement une expression de chaîne représentant une date comprise entre le 1er janvier 100 et le 31 décembre 9999. Toutefois, l'argument date peut être aussi toute expression pouvant représenter une date, une heure ou à la fois une date et une heure, dans cette plage.

Notes

Si l'argument date inclut des informations sur l'heure, la fonction DateValue ne le renvoie pas. Néanmoins, si l'argument date inclut des informations d'heure incorrectes (telles que "89:98"), une erreur se produit.

Si l'argument date est une chaîne n'incluant que des nombres séparés par des séparateurs de date valides, la fonction DateValue reconnaît l'ordre du mois, du jour et de l'année en fonction du format date courte que vous avez spécifié sur votre système. La fonction DateValue reconnaît également les dates non ambiguës contenant des noms de mois, sous forme longue ou abrégée. Par exemple, outre la reconnaissance de 30/12/1991 et 30/12/91, la fonction DateValue reconnaît aussi 30 décembre 1991 et 30 déc 1991.

Si la partie année de l'argument date est omise, la fonction DateValue utilise l'année en cours de la date système de votre ordinateur.

L'exemple ci-dessous utilise la fonction DateValue pour convertir une chaîne en date. Vous pouvez également utiliser des littéraux de dates pour affecter directement une date à une variable Variant, par exemple MyDate = #11/9/63#.

Dim MyDate
MyDate = DateValue("11 Septembre 1963")   ' Renvoie une date.

Version requise

Version 1

Voir aussi

CDate, fonction | DateSerial, fonction | Day, fonction | Month, fonction | Now, fonction | TimeSerial, fonction | TimeValue, fonction | Weekday, fonction | Year, fonction


Day, fonction

Renvoie un nombre entier compris entre 1 et 31 inclus, représentant le jour du mois.

Day(date)

L'argument date peut être toute expression pouvant représenter une date. Si l'argument date contient Null, la valeur Null est renvoyée.

L'exemple ci-dessous utilise la fonction Day pour obtenir le jour du mois d'une date spécifiée :

Dim MyDay
MyDay = Day("19 octobre 1962")   ' MyDay contient 19.

Version requise

Version 1

Voir aussi

Date, fonction | Hour, fonction | Minute, fonction | Month, fonction | Now, fonction | Second, fonction | Weekday, fonction | Year, fonction


Fonctions mathématiques dérivées

La liste suivante récapitule les fonctions mathématiques non intrinsèques qui peuvent être dérivées des fonctions mathématiques intrinsèques :

Fonction | Équivalents dérivés
Sécante | Sec(X) = 1 / Cos(X)
Cosécante | Cosec(X) = 1 / Sin(X)
Cotangente | Cotan(X) = 1 / Tan(X)
Inverse sinus | Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Inverse cosinus | Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Inverse sécante | Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1))
Inverse cosécante | Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Inverse cotangente | Arccotan(X) = Atn(X) + 2 * Atn(1)
Sinus hyperbolique | HSin(X) = (Exp(X) - Exp(-X)) / 2
Cosinus hyperbolique | HCos(X) = (Exp(X) + Exp(-X)) / 2
Tangente hyperbolique | HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
Sécante hyperbolique | HSec(X) = 2 / (Exp(X) + Exp(-X))
Cosécante hyperbolique | HCosec(X) = 2 / (Exp(X) - Exp(-X))
Cotangente hyperbolique | HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Inverse sinus hyperbolique | HArcsin(X) = Log(X + Sqr(X * X + 1))
Inverse cosinus hyperbolique | HArccos(X) = Log(X + Sqr(X * X - 1))
Inverse tangente hyperbolique | HArctan(X) = Log((1 + X) / (1 - X)) / 2
Inverse sécante hyperbolique | HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Inverse cosécante hyperbolique | HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Inverse cotangente hyperbolique | HArccotan(X) = Log((X + 1) / (X - 1)) / 2
Logarithme de base N | LogN(X) = Log(X) / Log(N)

Voir aussi

Atn, fonction | Cos, fonction | Exp, fonction | Log, fonction | Sin, fonction | Sqr, fonction | Tan, fonction


Eval

Évalue une expression et renvoie le résultat.

[result = ]Eval(expression)

Arguments

result

Facultatif. Variable à laquelle est affectée une valeur de retour. Si l'élément result n'est pas spécifié, pensez à utiliser l'instruction Execute à la place.

expression

Requis. Chaîne contenant toute expression VBScript légale.

Notes

Dans VBScript, l'expression x = y peut être interprétée de deux manières différentes. La première est de considérer qu'il s'agit d'une instruction permettant d'affecter la valeur y à x. La seconde implique que l'expression recherche si x et y ont la même valeur. Si c'est le cas, l'élément result prend la valeur True. Dans le cas contraire, result prend la valeur False. La méthode Eval utilise toujours la deuxième interprétation, alors que l'instruction Execute utilise la première.

Remarque Dans Microsoft® JScript™, il n'y a pas de confusion possible entre l'affectation et la comparaison car l'opérateur d'affectation (=) est différent de l'opérateur de comparaison (==).

Voici un exemple qui illustre l'utilisation de la fonction Eval :

Sub GuessANumber
   Dim Guess, RndNum
   RndNum = Int((100) * Rnd(1) + 1)
   Guess = CInt(InputBox("Tapez une proposition:",,0))
   Do
      If Eval("Guess = RndNum") Then
         MsgBox "Félicitations! Vous avez deviné!"
         Exit Sub
      Else
         Guess = CInt(InputBox("Désolé! Recommencez.",,0))
      End If
   Loop Until Guess = 0
End Sub

Version requise

Version 5

Execute, instruction


Exp, fonction

Renvoie e (la base des logarithmes népériens) élevé à une puissance.

Exp(number)

L'argument number représente toute expression numérique valide.

Note

Si la valeur de l'argument number excède 709,782712893, une erreur se produit. La constante e est approximativement 2,718282.

Remarque La fonction Exp complète l'action de la fonction Log. Elle est parfois appelée antilogarithme.

L'exemple ci-dessous utilise la fonction Exp pour renvoyer e élevé à une puissance :

Dim MyAngle, MyHSin   ' Définir l'angle en radians.
MyAngle = 1.3   ' Calculer le sinus hyperbolique.
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2

Version requise

Version 1

Fonctions mathématiques dérivées | Log, fonction


Filter, fonction

Renvoie un tableau commençant par zéro contenant un sous-ensemble d'un tableau de chaîne basé sur des critères de filtre spécifiés.

Filter( InputStrings, Value[, Include[, Compare]])

Arguments

InputStrings

Tableau de chaîne à une dimension dans lequel la recherche doit être effectuée.

Value

Chaîne à rechercher.

Include

Facultatif. Valeur de type Boolean indiquant s'il faut renvoyer des sous-chaînes incluant ou excluant l'argument Value. Si l'argument Include a la valeur True, la fonction Filter renvoie le sous-ensemble du tableau contenant l'argument Value comme sous-chaîne. Si l'argument Include a la valeur False, la fonction Filter renvoie le sous-ensemble du tableau ne contenant pas l'argument Value comme sous-chaîne.

Compare

Facultatif. Valeur numérique indiquant le type de comparaison de chaîne à utiliser. Reportez-vous à la section Paramètres.

Paramètres

L'argument Compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Notes

Si aucune correspondance de l'argument Value n'est trouvée dans l'argument InputStrings, la fonction Filter renvoie un tableau vide. Une erreur se produit si l'argument InputStrings a la valeur Null ou s'il ne correspond pas à un tableau à une dimension.

Le tableau renvoyé par la fonction Filter ne contient que le nombre d'éléments suffisants pour accueillir le nombre d'éléments en correspondance.

L'exemple ci-dessous utilise la fonction Filter pour renvoyer le tableau contenant le critère de recherche "Lun" :

Dim MyIndex
Dim MyArray (3)
MyArray(0) = "Dimanche"
MyArray(1) = "Lundi"
MyArray(2) = "Mardi"
MyIndex = Filter(MyArray, "Lun") ' MyIndex(0) contient "Lundi".

Version requise

Version 2

Replace, fonction


FormatCurrency, fonction

Renvoie une expression formatée sous forme de valeur de type Currency utilisant le symbole monétaire défini dans le Panneau de configuration du système.

FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

Arguments

Expression

Requis. Expression à formater.

NumDigitsAfterDecimal

Facultatif. Valeur numérique indiquant combien de positions à la droite de la décimale sont affichées. La valeur par défaut (-1) indique que les paramètres régionaux de l'ordinateur sont employés.

IncludeLeadingDigit

Facultatif. Constante 3-états indiquant si un zéro non significatif s'affiche pour les valeurs décimales. Reportez-vous à la section Paramètres.

UseParensForNegativeNumbers

Facultatif. Constante 3-états indiquant s'il faut mettre les valeurs négatives entre parenthèses. Reportez-vous à la section Paramètres.

GroupDigits

Facultatif. Constante 3-états indiquant s'il faut ou non grouper les nombres en utilisant le séparateur de groupe spécifié dans les paramètres régionaux de l'ordinateur. Reportez-vous à la section Paramètres.

Paramètres

Les arguments IncludeLeadingDigit, UseParensForNegativeNumbers et GroupDigits peuvent prendre les valeurs suivantes :

Constante | Value | Description
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | Utilise les paramètres régionaux de l'ordinateur.

Notes

Lorsqu'un ou plusieurs arguments sont omis, les valeurs de ces arguments sont fournies par les paramètres régionaux de l'ordinateur. La position du symbole monétaire relatif à la valeur monétaire est déterminée par les paramètres régionaux du système.

Remarque Toutes les informations de paramètres sont définies dans l'onglet Symbole monétaire des Paramètres régionaux, à l'exception du zéro non significatif issu de l'onglet Nombre.

L'exemple ci-dessous utilise la fonction FormatCurrency pour mettre en forme l'expression en devise et l'affecter à MyCurrency :

Dim MyCurrency
MyCurrency = FormatCurrency(1000)   ' MyCurrency contient 1000,00 F

Version requise

Version 2

Voir aussi

FormatDateTime, fonction | FormatNumber, fonction | FormatPercent, fonction


FormatDateTime, fonction

Renvoie une expression formatée sous forme de date ou d'heure.

FormatDateTime(Date[,NamedFormat])

Arguments

Date

Expression de date à formater.

NamedFormat

Facultatif. Valeur numérique indiquant le format de date/heure utilisé. Si cette valeur est omise, vbGeneralDate est employé.

Paramètres

L'argument NamedFormat peut prendre les valeurs suivantes :

Constante | Value | Description
vbGeneralDate | 0 | Affiche une date et/ou une heure. En présence d'une partie de date, elle l'affiche sous forme de date abrégée. En présence d'une partie d'heure, elle l'affiche sous forme d'heure complète. Si les deux parties sont présentes, elles sont toutes deux affichées.
vbLongDate | 1 | Affiche une date en utilisant le format de date complet spécifié dans les paramètres régionaux de votre ordinateur.
vbShortDate | 2 | Affiche une date en utilisant le format de date abrégé spécifié dans les paramètres régionaux de l'ordinateur.
vbLongTime | 3 | Affiche une heure en utilisant le format d'heure spécifié dans les paramètres régionaux de l'ordinateur.
vbShortTime | 4 | Affiche une heure au format 24 heures (hh:mm).

Notes

L'exemple ci-dessous utilise la fonction FormatDateTime pour formater l'expression en date longue et l'affecte à MyDateTime :

Function GetCurrentDate
   ' FormatDateTime formate Date en date longue
   GetCurrentDate = FormatDateTime(Date, 1)
End Function

Version requise

Version 2

Voir aussi

FormatCurrency, fonction | FormatNumber, fonction | FormatPercent, fonction


FormatNumber, fonction

Renvoie une expression formatée sous forme de nombre.

FormatNumber(Expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

Arguments

Expression

Expression à formater.

NumDigitsAfterDecimal

Facultatif. Valeur numérique indiquant combien de positions à droite de la décimale sont affichées. La valeur par défaut (-1) indique que les paramètres régionaux de l'ordinateur sont employés.

IncludeLeadingDigit

Facultatif. Constante 3-états indiquant si un zéro non significatif est affiché pour les valeurs décimales. Reportez-vous à la section Paramètres.

UseParensForNegativeNumbers

Facultatif. Constante 3-états indiquant s'il faut placer ou non les valeurs négatives entre parenthèses. Reportez-vous à la section Paramètres.

GroupDigits

Facultatif. Constante 3-états indiquant si les nombres doivent être regroupés ou non à l'aide du symbole de groupement spécifié dans le Panneau de configuration. Reportez-vous à la section Paramètres.

Paramètres

Les arguments IncludeLeadingDigit, UseParensForNegativeNumbers et GroupDigits prennent les valeurs suivantes :

Constante | Value | Description
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | Utilise la valeur des paramètres régionaux de l'ordinateur.

Notes

Lorsqu'un ou plusieurs des arguments facultatifs sont omis, les valeurs de ces arguments sont fournies par les paramètres régionaux de l'ordinateur.

Remarque Tous les paramètres sont issus de l'onglet Nombre des Paramètres régionaux.

L'exemple ci-dessous utilise la fonction FormatNumber pour formater un nombre avec quatre décimales :

Function FormatNumberDemo
   Dim MyAngle, MySecant, MyNumber
   MyAngle = 1.3   ' Définir l'angle en radians.
   MySecant = 1 / Cos(MyAngle)   ' Calculer la sécante.
   FormatNumberDemo = FormatNumber(MySecant,4) ' Formater Mycant avec quatre décimales
End Function

Version requise

Version 2

Voir aussi

FormatCurrency, fonction | FormatDateTime, fonction | FormatPercent, fonction


FormatPercent, fonction

Renvoie une expression formatée sous forme de pourcentage (multiplié par 100) avec un caractère de fin %.

FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

La syntaxe de la fonction FormatPercent comprend les éléments suivants :

Arguments

Expression

Expression à formater.

NumDigitsAfterDecimal

Facultatif. Valeur numérique indiquant combien de positions à droite de la décimale s'affichent. La valeur par défaut (-1) indique que les paramètres régionaux de l'ordinateur sont employés.

IncludeLeadingDigit

Facultatif. Constante 3-états indiquant s'il faut ou non afficher un zéro non significatif pour les valeurs décimales. Reportez-vous à la section Paramètres.

UseParensForNegativeNumbers

Facultatif. Constante 3-états indiquant s'il faut mettre les valeurs négatives entre parenthèses. Reportez-vous à la section Paramètres.

GroupDigits

Facultatif. Constante 3-états indiquant si les nombres doivent ou non être regroupés avec le symbole de regroupement spécifié dans le Panneau de configuration. Reportez-vous à la section Paramètres.

Paramètres

Les arguments IncludeLeadingDigit, UseParensForNegativeNumbers et GroupDigits prennent les valeurs suivantes :

Constante | Value | Description
TristateTrue | -1 | True
TristateFalse | 0 | False
TristateUseDefault | -2 | Utilise la valeur des paramètres régionaux de l'ordinateur.

Notes

Lorsqu'un ou plusieurs paramètres facultatifs sont omis, les valeurs de ces paramètres sont fournies par les valeurs des paramètres régionaux de l'ordinateur.

Remarque Toutes les informations des paramètres sont issues de l'onglet Nombre des Paramètres régionaux.

L'exemple ci-dessous utilise la fonction FormatPercent pour formater une expression en pourcentage :

Dim MyPercent
MyPercent = FormatPercent(2/32) ' MyPercent contient 6,25%.

Version requise

Version 2

Voir aussi

FormatCurrency, fonction | FormatDateTime, fonction | FormatNumber, fonction


GetLocale, fonction

Renvoie la valeur d'ID des paramètres régionaux en cours.

GetLocale()

Notes

Les paramètres régionaux sont un ensemble d'informations indiquant les préférences d'un utilisateur quant à sa langue, son pays et ses conventions culturelles. Ces paramètres déterminent notamment la disposition des touches sur le clavier, l'ordre utilisé pour le tri alphabétique, ainsi que les formats à respecter pour les dates, les heures, les nombres et les devises.

La valeur de retour peut correspondre à toute valeur 32 bits acceptable indiquée dans le tableau des ID de langue :

L'exemple ci-dessous illustre l'utilisation de la fonction GetLocale. Pour utiliser ce code, collez l'exemple dans son intégralité entre les balises <BODY&gtl d'une page HTML standard.

Entrer la date au format Anglais-GB : <input type="text" id="UKDate" size="20"><p>
Voici l'équivalent pour le format Anglais-US : <input type="text" id="USdate" size="20"><p>
<input type="button" value="Convert" id="button1"><p>
Entrer un prix au format allemand : &nbsp; <input type="text" id="GermanNumber" size="20">
<p>
Voici l'équivalent au format Anglais-GB : <input type="text" id="USNumber" size="20"><p>
<input type="button" value="Convert" id="button2"><p>

<script language="vbscript">
Dim currentLocale
' Get the current locale
currentLocale = GetLocale

Sub Button1_onclick
  Dim original
  original = SetLocale("en-gb")
  mydate = CDate(UKDate.value)
  ' Internet Explorer définit toujours les paramètres régionaux sur
  ' Anglais-US ; aussi utilisez la variable currentLocale pour les définir     ' sur Anglais-US
  original = SetLocale(currentLocale)
  USDate.value = FormatDateTime(mydate,vbShortDate)
End Sub

Sub button2_onclick
  Dim original
  original = SetLocale("de")
  myvalue = CCur(GermanNumber.value)
  original = SetLocale("en-gb")
  USNumber.value = FormatCurrency(myvalue)
End Sub

</script>

Voir aussi

SetLocale, fonction | Tableau des ID de langue (LCID)


GetObject, fonction

Renvoie une référence à l'objet Automation d'un fichier.

GetObject([pathname] [, class])

Arguments

pathname

Facultatif ; chaîne. Chemin complet et nom du fichier contenant l'objet à extraire. Si l'argument pathname est omis, l'argument class est requis.

class

Facultatif ; chaîne. Classe de l'objet.

L'argument class utilise la syntaxe appname.objectype et comprend les éléments suivants :

Arguments

appname

Chaîne. Nom de l'application fournissant l'objet.

objectype

Chaîne. Type ou classe de l'objet à créer.

Notes

Utilisez la fonction GetObject pour accéder à un objet ActiveX à partir d'un fichier et affectez l'objet à une variable objet. Utilisez l'instruction Set pour affecter l'objet renvoyé par la fonction GetObject à la variable objet. Par exemple :

Dim CADObject
Set CADObject = GetObject("C:.CAD")

Lorsque ce code est exécuté, l'application associée au nom de chemin spécifié démarre, et l'objet dans le fichier spécifié est activé. Si l'argument pathname est une chaîne de longueur nulle (""), la fonction GetObject renvoie une nouvelle instance d'objet de type spécifié. Si l'argument pathname est omis, la fonction GetObject renvoie un objet actuellement actif du type spécifié. Si aucun objet du type spécifié n'existe, une erreur se produit.

Certaines applications permettent d'activer une partie d'un fichier. Ajoutez un point d'exclamation (!) à la fin du fichier et faites suivre ce dernier d'une chaîne identifiant la partie du fichier à activer. Pour plus d'informations sur la création de cette chaîne, consultez la documentation de l'application ayant créé l'objet.

Par exemple, dans une application de dessin, un fichier pourrait contenir plusieurs couches d'un dessin. Vous pouvez utiliser le code suivant pour activer une couche dans un dessin nommé SCHEMA.CAD :

Set LayerObject = GetObject("C:.CAD!Layer3")

Si vous ne précisez pas la classe de l'objet, l'Automation identifie l'application à démarrer et l'objet à activer, en fonction du nom de fichier que vous fournissez. Cependant, certains fichiers peuvent gérer plusieurs classes d'objets. Par exemple, un dessin peut supporter trois types d'objet : un objet d'application, un objet de dessin et un objet de barre d'outils, chacun faisant partie du même fichier. Pour spécifier l'objet d'un fichier à activer, utilisez l'argument class facultatif. Par exemple :

Dim MyObject
Set MyObject = GetObject("C:.DRW", "FIGMENT.DRAWING")

Dans l'exemple précédent, FIGMENT est le nom d'une application de dessin et DRAWING est l'un des types d'objet qu'il gère. Une fois qu'un objet est activé, vous pouvez y faire référence dans du code en utilisant la variable objet que vous avez définie. Dans l'exemple précédent, vous accédez aux propriétés et aux méthodes du nouvel objet en utilisant la variable objet MyObject. Par exemple :

MyObject.Line 9, 90
MyObject.InsertText 9, 100, "Bonjour."
MyObject.SaveAs "C:.DRW"

Remarque Utilisez la fonction GetObject lorsqu'il existe une instance courante de l'objet, ou lorsque vous souhaitez créer l'objet avec un fichier déjà chargé. En l'absence d'instance courante, et si vous ne souhaitez pas que l'objet commence avec un fichier chargé, utilisez la fonction CreateObject.

Si un objet s'est enregistré comme un objet d'instance simple, une seule instance de l'objet est créée, quel que soit le nombre d'exécutions de la fonction CreateObject. Avec un objet à simple instance, la fonction GetObject renvoie toujours la même instance lorsqu'il est appelé avec la syntaxe de chaîne de longueur nulle (""), et il provoque une erreur si l'argument pathname est omis.

Version requise

Version 5

CreateObject, fonction


GetRef, fonction

Renvoie une référence à une procédure éventuellement liée à un événement.

Set object.eventname = GetRef(procname)

Arguments

object

Requis. Nom de l'objet avec lequel l'événement est associé.

event

Requis. Nom de l'événement duquel dépend la fonction.

procname

Requis. Chaîne contenant le nom de la procédure Sub ou Function qui va être associée à l'événement.

Notes

La fonction GetRef vous permet d'associer une procédure VBScript (Function ou Sub) à tout événement disponible dans vos pages DHTML (Dynamic HTML). Le modèle objet DHTML fournit des informations sur les événements disponibles pour les différents objets.

Dans d'autres langages de programmation et de script, la fonctionnalité fournie par GetRef se présente sous la forme d'un pointeur de fonction, c'est-à-dire, qui pointe vers l'adresse d'une procédure à exécuter lorsqu'un événement se produit.

Voici un exemple illustrant l'utilisation de la fonction GetRef.

<SCRIPT LANGUAGE="VBScript">

Function GetRefTest()
   Dim Splash
   Splash = "GetRefTest Version 1.0"   & vbCrLf
   Splash = Splash & Chr(169) & " VotreSociété 1999 "
   MsgBox Splash
End Function

Set Window.Onload = GetRef("GetRefTest")
</SCRIPT>

Version requise

Version 5

Function, instruction | Set, instruction | Sub, instruction


Hex, fonction

Renvoie une chaîne représentant la valeur hexadécimale d'un nombre.

Hex(number)

L'argument number représente toute expression valide.

Notes

Si l'argument number n'est pas déjà un nombre entier, il est arrondi au nombre entier le plus proche avant d'être évalué.

Si number est | Hex renvoie
Null | Null.
Empty | Zéro (0).
Tout autre nombre | Huit caractères hexadécimaux maximum.

Vous pouvez représenter des nombres hexadécimaux directement en les faisant précéder de &H dans la plage correcte. Par exemple, en numérotation hexadécimale, &H10 représente le nombre décimal 16.

L'exemple ci-dessous utilise la fonction Hex pour renvoyer la valeur hexadécimale d'un nombre :

Dim MyHex
MyHex = Hex(5)   ' Renvoie 5.
MyHex = Hex(10)   ' Renvoie A.
MyHex = Hex(459)   ' Renvoie 1CB.

Version requise

Version 1

Oct, fonction


Hour, fonction

Renvoie un nombre entier compris entre 0 et 23 inclus, représentant l'heure du jour.

Hour(time)

L'argument time représente toute expression pouvant représenter une heure. Si l'argument time contient Null, la valeur Null est renvoyée.

L'exemple ci-dessous utilise la fonction Hour pour extraire le chiffre de l'heure à partir de l'heure actuelle :

Dim MyTime, MyHour
MyTime = Now
MyHour = Hour(MyTime) ' MyHour contient le nombre représentant
                      ' le chiffre de l'heure actuelle.

Version requise

Version 1

Voir aussi

Day, fonction | Minute, fonction | Now, fonction | Second, fonction | Time, fonction


InputBox, fonction

Affiche une invite dans une boîte de dialogue, attend que l'utilisateur entre du texte ou choisisse un bouton et renvoie le contenu de la zone de texte.

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

Arguments

prompt

Expression de chaîne qui est affichée sous la forme d'un message dans la boîte de dialogue. La longueur maximum de l'argument prompt est environ 1024 caractères, selon la largeur des caractères utilisés. Si l'argument prompt se compose de plusieurs lignes, vous pouvez les séparer en utilisant un caractère de retour chariot (Chr(13)), un caractère de retour à la ligne (Chr(10)) ou une combinaison de ces deux caractères (Chr(13) & Chr(10)).

title

Expression de chaîne qui est affichée dans la barre de titre de la boîte de dialogue. Si vous omettez l'argument title, le nom de l'application s'affiche dans la barre de titre.

default

Expression de chaîne qui est affichée dans la zone de texte comme la réponse par défaut si aucune autre entrée n'est fournie. Si vous omettez l'argument default, la zone de texte s'affiche vide.

xpos

Expression numérique qui spécifie, en twips, la distance horizontale entre le bord gauche de la boîte de dialogue et le bord gauche de l'écran. Si l'argument xpos est omis, la boîte de dialogue est centrée horizontalement.

ypos

Expression numérique qui spécifie, en twips, la distance verticale entre le bord supérieur de la boîte de dialogue et le haut de l'écran. Si l'argument ypos est omis, la boîte de dialogue est positionnée verticalement, de manière approximative, à une distance d'un tiers de la taille de l'écran à partir du haut.

helpfile

Expression de chaîne qui identifie le fichier d'aide à utiliser pour fournir l'aide contextuelle de la boîte de dialogue. Si l'argument helpfile est fourni, l'argument context doit l'être aussi.

context

Expression numérique qui identifie le numéro de contexte de l'aide affecté par l'auteur de l'Aide à la rubrique d'aide correspondante. Si l'argument context est fourni, l'argument helpfile doit l'être aussi.

Notes

Lorsque les arguments helpfile et context sont tous deux fournis, un bouton d'aide est ajouté automatiquement à la boîte de dialogue.

Si l'utilisateur clique sur OK ou appuie sur ENTRÉE, la fonction InputBox renvoie ce qui se trouve dans la zone de texte. Si l'utilisateur clique sur Annuler, la fonction renvoie une chaîne de longueur nulle ("").

L'exemple ci-dessous utilise la fonction InputBox pour afficher une boîte de saisie et affecter la chaîne à la variable Input :

Dim Input
Input = InputBox("Entrez votre nom")
MsgBox ("Vous avez entré: " & Input)

Version requise

Version 1

MsgBox, fonction


InStr, fonction

Renvoie la position de la première occurrence d'une chaîne à l'intérieur d'une autre.

InStr([start, ]string1, string2[, compare])

Arguments

start

Facultatif. Expression numérique qui définit la position de départ de chaque recherche. Si cet argument est omis, la recherche commence à la position du premier caractère. Si l'argument start contient la valeur Null, une erreur se produit. L'argument start est requis si l'argument compare est spécifié.

string1

Expression de chaîne faisant l'objet de la recherche.

string2

Expression de chaîne recherchée.

compare

Facultatif. Valeur numérique qui indique le type de comparaison effectué lors de l'évaluation des sous- chaînes. Reportez-vous à la section Paramètres. Si l'argument compare est omis, une comparaison binaire est effectuée.

Paramètres

L'argument compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Valeurs renvoyées

La fonction InStr renvoie les valeurs suivantes :

Si | la fonction InStr renvoie
string1 est de longueur nulle | 0
string1 est Null | Null
string2 est de longueur nulle | start
string2 est Null | Null
string2 n'est pas trouvé | 0
string2 est trouvé dans string1 | la position de correspondance
start > Len(string2) | 0

Notes

Les exemples suivants utilisent la fonction InStr pour rechercher une chaîne :

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' Chaîne dans laquelle rechercher.
SearchChar = "P"   ' Recherche "P".
MyPos = Instr(4, SearchString, SearchChar, 1)   ' Comparaison textuelle commençant à la position 4. Renvoie 6.
MyPos = Instr(1, SearchString, SearchChar, 0)   ' Comparaison binaire commençant à la position 1. Renvoie 9.
MyPos = Instr(SearchString, SearchChar)   ' La comparaison est binaire par défaut (le dernier argument est omis). Renvoie 9.
MyPos = Instr(1, SearchString, "W")   ' Comparaison binaire commençant à la position 1. Renvoie 0 ("W" est introuvable).

Remarque Une autre fonction (InStrB) est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer la position du caractère de la première occurrence d'une chaîne à l'intérieur d'une autre, la fonction InStrB renvoie la position de l'octet.

Version requise

Version 1

InstrRev, fonction


InStrRev, fonction

Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne.

InStrRev(string1, string2[, start[, compare]])

Arguments

string1

Expression de chaîne dans laquelle la recherche est effectuée.

string2

Expression de chaîne recherchée.

start

Facultatif. Expression numérique qui définit la position de départ de chaque recherche. Si elle est omise, -1 est employé, ce qui signifie que la recherche commence à la dernière position de caractère. Si l'argument start contient la valeur Null, une erreur se produit.

compare

Facultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Si elle est omise, une comparaison binaire est effectuée. Reportez-vous à la section Paramètres.

Paramètres

L'argument compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Valeurs renvoyées

La fonction InStrRev renvoie les valeurs suivantes :

Si | la fonction InStrRev renvoie
string1 a une longueur nulle | 0
string1 a la valeur Null | Null
string2 a une longueur nulle | start
string2 a la valeur Null | Null
string2 est introuvable | 0
string2 se trouve à l'intérieur de string1 | la position à laquelle une correspondance est trouvée.
start > Len(string2) | 0

Notes

Les exemples suivants utilisent la fonction InStrRev pour rechercher une chaîne :

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' Chaîne dans laquelle rechercher.
SearchChar = "P"   ' Rechercher "P".
MyPos = InstrRev(SearchString, SearchChar, 10, 0)   ' Comparaison binaire commençant à la position 10. Renvoie 9.
MyPos = InstrRev(SearchString, SearchChar, -1, 1)   ' Comparaison textuelle commençant à la dernière position. Renvoie 12.
MyPos = InstrRev(SearchString, SearchChar, 8)   ' La comparaison est binaire par défaut (le dernier argument est omis). Renvoie 0.

Remarque La syntaxe de la fonction InStrRev est différente de celle de la fonction InStr.

Version requise

Version 2

Instr, fonction


Int, Fix, fonctions

Renvoient la partie entière d'un nombre.

Int(number)

Fix(number)

L'argument number représente toute expression numérique valide. Si l'argument number contient Null, la valeur Null est renvoyée.

Notes

Les deux fonctions Int et Fix suppriment la partie fractionnaire de l'argument number et renvoie la valeur entière résultante.

La différence entre les fonctions Int et Fix tient au fait que si l'argument number est négatif, la fonction Int renvoie le premier entier négatif inférieur ou égal à number, tandis que la fonction Fix renvoie le premier entier négatif supérieur ou égal à number. Par exemple, la fonction Int convertit -8,4 en -9, tandis que la fonction Fix convertit -8,4 en -8.

Fix(number) est équivalent à :

Sgn(number) * Int(Abs(number))

Les exemples suivants illustrent de quelle façon les fonctions Int et Fix renvoient les parties entières de nombres :

MyNumber = Int(99.8)    ' Renvoie 99.
MyNumber = Fix(99.2)    ' Renvoie 99.
MyNumber = Int(-99.8)   ' Renvoie -100.
MyNumber = Fix(-99.8)   ' Renvoie -99.
MyNumber = Int(-99.2)   ' Renvoie -100.
MyNumber = Fix(-99.2)   ' Renvoie -99.

Version requise

Version 1

CInt, fonction | Round, fonction


IsArray, fonction

Renvoie une valeur booléenne indiquant si la variable est un tableau.

IsArray(varname)

L'argument varname représente toute variable.

Notes

La fonction IsArray renvoie la valeur True si la variable est un tableau si tel n'est pas le cas, elle renvoie la valeur False. La fonction IsArray est particulièrement utile avec des variants contenant des tableaux.

L'exemple ci-dessous utilise la fonction IsArray pour tester si MyVariable est un tableau :

Dim MyVariable
Dim MyArray(3)
MyArray(0) = "Dimanche"
MyArray(1) = "Lundi"
MyArray(2) = "Mardi"
MyVariable = IsArray(MyArray) ' MyVariable contient "True".

Version requise

Version 1

Voir aussi

IsDate, fonction | IsEmpty, fonction | IsNull, fonction | IsNumeric, fonction | IsObject, fonction | VarType, fonction


IsDate, fonction

Renvoie une valeur booléenne indiquant si une expression peut être convertie en date.

IsDate(expression)

L'argument expression représente toute date ou expression de chaîne reconnaissable sous forme de date ou d'heure.

Notes

La fonction IsDate renvoie la valeur True si l'expression est une date ou si elle peut être convertie en date valide ; si tel n'est pas le cas, elle renvoie la valeur False. Dans Microsoft Windows, la plage des dates valides est comprise entre le 1er janvier 100 (après J.C.) et le 31 décembre 9999 (après J.C.) ; cette plage varie selon les systèmes d'exploitation.

L'exemple ci-dessous utilise la fonction IsDate pour déterminer si une expression peut être convertie en date :

Dim MyDate, YourDate, NoDate, MyCheck
MyDate = "19 octobre 1962": YourDate = #19/10/62#: NoDate = "Bonjour"
MyCheck = IsDate(MyDate)   ' Renvoie True.
MyCheck = IsDate(YourDate)   ' Renvoie True.
MyCheck = IsDate(NoDate)   ' Renvoie False.

Version requise

Version 1

Voir aussi

CDate, fonction | IsArray, fonction | IsEmpty, fonction | IsNull, fonction | IsNumeric, fonction | IsObject, fonction | VarType, fonction


IsEmpty, fonction

Renvoie une valeur booléenne indiquant si une variable a été initialisée.

IsEmpty(expression)

L'argument expression représente toute expression. Cependant, dans la mesure où la fonction IsEmpty est utilisée pour déterminer si des variables individuelles sont initialisées, l'argument expression est très souvent un nom de variable simple.

Notes

La fonction IsEmpty renvoie la valeur True si la variable n'est pas initialisée ou explicitement définie sur Empty ; si tel n'est pas le cas, elle renvoie la valeur False. La valeur False est toujours renvoyée si l'argument expression contient plusieurs variables.

L'exemple ci-dessous utilise la fonction IsEmpty pour déterminer si une variable a été initialisée :

Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar)   ' Renvoie True.
MyVar = Null   ' Affecte la valeur Null.
MyCheck = IsEmpty(MyVar)   ' Renvoie False.
MyVar = Empty   ' Affecte la valeur Empty.
MyCheck = IsEmpty(MyVar)   ' Renvoie True.

Version requise

Version 1

Voir aussi

IsArray, fonction | IsDate, fonction | IsNull, fonction | IsNumeric, fonction | IsObject, fonction | VarType, fonction


IsNull, fonction

Renvoie une valeur booléenne indiquant si une expression contient des données valides ou non (Null).

IsNull(expression)

L'argument expression représente toute expression.

Notes

La fonction IsNull renvoie la valeur True si l'argument expression est Null, autrement dit s'il ne contient aucune donnée valide ; dans le cas contraire, la fonction IsNull renvoie la valeur False. Si l'argument expression se compose de plusieurs variables, la présence de la valeur Null dans toute variable constituante provoque le renvoie de la valeur True pour l'expression entière.

La valeur Null indique que la variable ne contient aucune donnée valide. La valeur Null est différente de la valeur Empty qui indique qu'une variable n'a pas encore été initialisée. Elle diffère également d'une chaîne de longueur nulle que l'on appelle parfois chaîne vide.

Attention Utilisez la fonction IsNull pour déterminer si une expression contient une valeur Null. Les expressions qui donneront vraisemblablement comme résultat True dans certaines circonstances, telles que If Var = Null et If Var <> Null, sont toujours False, car toute expression contenant une valeur Null est elle-même Null et donc False.

L'exemple ci-dessous utilise la fonction IsNull pour déterminer si une variable contient une valeur Null :

Dim MyVar, MyCheck
MyCheck = IsNull(MyVar)   ' Renvoie False.
MyVar = Null   ' Affecte la valeur Null.
MyCheck = IsNull(MyVar)   ' Renvoie True.
MyVar = Empty   ' Affecte la valeur Empty.
MyCheck = IsNull(MyVar)   ' Renvoie False.

Version requise

Version 1

Voir aussi

IsArray, fonction | IsDate, fonction | IsEmpty, fonction | IsNumeric, fonction | IsObject, fonction | VarType, fonction


IsNumeric, fonction

Renvoie une valeur booléenne indiquant si une expression peut être évaluée sous la forme d'un nombre.

IsNumeric(expression)

L'argument expression représente toute expression.

Notes

IsNumeric renvoie True si la totalité de l'expression expression est reconnue comme un nombre ; sinon elle renvoie False. IsNumeric renvoie False si expression est une expression de date.

L'exemple ci-dessous utilise la fonction IsNumeric pour déterminer si une variable peut être évaluée en nombre :

Dim MyVar, MyCheck
MyVar = 53   ' Affecte une valeur.
MyCheck = IsNumeric(MyVar)   ' Renvoie True.
MyVar = "459.95"   ' Affecte une valeur.
MyCheck = IsNumeric(MyVar)   ' Renvoie True.
MyVar = "45 Help"   ' Affecte une valeur.
MyCheck = IsNumeric(MyVar)   ' Renvoie False.

Version requise

Version 1

Voir aussi

IsArray, fonction | IsDate, fonction | IsEmpty, fonction | IsNull, fonction | IsObject, fonction | VarType, fonction


IsObject, fonction

Renvoie une valeur booléenne indiquant si une expression référence un objet Automation valide.

IsObject(expression)

L'argument expression représente toute expression.

Note

La fonction IsObject renvoie la valeur True si l'argument expression est une variable de sous-type Object ou un objet défini par l'utilisateur ; si ce n'est pas le cas, elle renvoie la valeur False.

L'exemple ci-dessous utilise la fonction IsObject pour déterminer si un identificateur représente une variable objet :

Dim MyInt, MyCheck, MyObject
Set MyObject = Me
MyCheck = IsObject(MyObject)   ' Renvoie True.
MyCheck = IsObject(MyInt)   ' Renvoie False.

Version requise

Version 1

Voir aussi

IsArray, fonction | IsDate, fonction | IsEmpty, fonction | IsNull, fonction | IsNumeric, fonction | Set, instruction | VarType, fonction


Join, fonction

Renvoie une chaîne créée par la jonction de plusieurs sous-chaînes contenues dans un tableau.

Join(list[, delimiter])

Arguments

list

Un tableau à une dimension contenant les sous-chaînes à joindre.

delimiter

Facultatif. Caractère de chaîne utilisé pour séparer les sous-chaînes dans la chaîne renvoyée. S'il est omis, le caractère (" ") est employé. Si l'argument delimiter est une chaîne de longueur nulle, tous les éléments de la liste sont concaténés sans séparateurs.

Notes

L'exemple ci-dessous utilise la fonction Join pour joindre les sous-chaînes de MyArray :

Dim MyString
Dim MyArray(3)
MyArray(0) = "M."
MyArray(1) = "Alfred "
MyArray(2) = "Gautier "
MyArray(3) = "junior"
MyString = Join(MyArray) ' MyString contient "M. Alfred Gautier junior".

Version requise

Version 2

Split, fonction


LBound, fonction

Renvoie le plus petit indice disponible pour la dimension indiquée d'un tableau.

LBound(arrayname[, dimension])

Arguments

arrayname

Nom de la variable du tableau ; respecte les conventions standard d'affectation de noms à des variables.

dimension

Nombre entier indiquant quelle limite inférieure de la dimension est renvoyée. Utilisez 1 pour la première dimension, 2 pour la deuxième, etc. Si l'élément dimension est omis, 1 est supposé.

Notes

La fonction LBound est utilisée avec la fonction UBound pour déterminer la taille d'un tableau. Utilisez la fonction UBound pour trouver la limite supérieure d'une dimension de tableau.

La limite inférieure de toute dimension est toujours 0.

Version requise

Version 1

Dim, instruction | ReDim, instruction | UBound, fonction


LCase, fonction

Renvoie une chaîne qui a été convertie en minuscules.

LCase(string)

L'argument string représente toute expression de chaîne valide. Si l'argument string contient Null, la valeur Null est renvoyée.

Note

Seules les majuscules sont converties en minuscules ; toutes les lettres en minuscules et les caractères autres que les lettres demeurent inchangés.

L'exemple ci-dessous utilise la fonction LCase pour convertir les lettres majuscules en lettres minuscules :

Dim MyString
Dim LCaseString
MyString = "VBSCript"
LCaseString = LCase(MyString)   ' LCaseString contient "vbscript".

Version requise

Version 1

UCase, fonction


Left, fonction

Renvoie un nombre spécifié de caractères à partir de la gauche d'une chaîne.

Left(string, length)

Arguments

string

Expression de chaîne à partir de laquelle les caractères situés à l'extrême gauche sont renvoyés. Si string contient Null, la valeur Null est renvoyée.

length

Expression numérique indiquant le nombre de caractères à renvoyer. Si 0, une chaîne de longueur nulle est renvoyée. Si supérieure ou égale aux nombres de caractères contenus dans string, la chaîne entière est renvoyée.

Notes

Pour déterminer le nombre de caractères contenus dans string, utilisez la fonction Len.

L'exemple ci-dessous utilise la fonction Left pour renvoyer les trois premiers caractères de MyString :

Dim MyString, LeftString
MyString = "VBSCript"
LeftString = Left(MyString, 3) ' LeftString contient "VBS".

Remarque Une autre fonction (LeftB) est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de spécifier le nombre de caractères à renvoyer, length spécifie le nombre d'octets.

Version requise

Version 1

Len, fonction | Mid, fonction | Right, fonction


Len, fonction

Renvoie le nombre de caractères contenus dans une chaîne, ou le nombre d'octets requis pour mémoriser une variable.

Len(string | varname)

Arguments

string

Toute expression de chaîne valide. Si string contient Null, la valeur Null est renvoyée.

varname

Tout nom de variable valide. Si varname contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise la fonction Len pour renvoyer le nombre de caractères d'une chaîne :

Dim MyString
MyString = Len("VBSCRIPT") ' MyString contient 8.

Remarque Une autre fonction (LenB) est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer le nombre de caractères d'une chaîne, la fonction LenB renvoie le nombre d'octets utilisés pour représenter cette chaîne.

Version requise

Version 1

InStr, fonction


LoadPicture, fonction

Renvoie un objet image. Disponible seulement sur les plates-formes 32 bits.

LoadPicture(picturename)

L'argument picturename est une expression de chaîne représentant le nom du fichier d'image à charger.

Note

Les formats graphiques reconnus par LoadPicture sont les fichiers bitmap (.bmp), icônes (.ico), codés RLE (.rle), métafichiers (.wmf), métafichiers étendus (.emf), GIF (.gif) et JPEG (.jpg).

Version requise

Version 2


Log, fonction

Renvoie le logarithme népérien d'un nombre.

Log(number)

L'argument number représente toute expression numérique valide supérieure à 0.

Notes

Le logarithme népérien est le logarithme de base e. La constante e est approximativement égale à 2,718282.

Vous pouvez calculer les logarithmes de base n d'un nombre x en divisant le logarithme népérien de x par le logarithme népérien de n de la façon suivante :

Logn(x) = Log(x) / Log(n)

L'exemple suivant illustre une Fonction personnalisée qui calcule les logarithmes de base 10 :

Function Log10(X)
   Log10 = Log(X) / Log(10)
End Function

Version requise

Version 1

Fonctions mathématiques dérivées | Exp, fonction


LTrim, RTrim et Trim, fonctions

Renvoient une copie d'une chaîne sans espaces à gauche (LTrim), sans espaces à droite (RTrim), ou sans espaces ni à gauche ni à droite (Trim).

LTrim(string)

RTrim(string)

Trim(string)

L'argument string représente toute expression de chaîne valide. Si l'argument string contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise les fonctions LTrim, RTrim et Trim pour supprimer les espaces à gauche, à droite et des deux côtés, respectivement :

Dim MyVar
MyVar = LTrim("   vbscript ")   ' MyVar contient "vbscript ".
MyVar = RTrim("   vbscript ")   ' MyVar contient "   vbscript".
MyVar = Trim("   vbscript ")   ' MyVar contient "vbscript".

Version requise

Version 1

Left, fonction | Right, fonction


Fonctions mathématiques

Abs, fonction

Atn, fonction

Cos, fonction

Exp, fonction

Fix, fonction

Int, fonction

Log, fonction

Rnd, fonction

Sgn, fonction

Sin, fonction

Sqr, fonction

Tan, fonction

Fonctions mathématiques dérivées


Mid, fonction

Renvoie un nombre spécifié de caractères d'une chaîne.

Mid(string, start[, length])

Arguments

string

Expression de chaîne à partir de laquelle les caractères sont renvoyés. Si l'argument string contient Null, la valeur Null est renvoyée.

start

Position du caractère dans l'argument string à partir duquel commence la partie à extraire. Si l'argument start est supérieur au nombre de caractères contenus dans l'argument string, la fonction Mid renvoie une chaîne de longueur nulle.

length

Nombre de caractères à renvoyer. Si cet argument est omis ou si le nombre de caractères dans le texte (y compris le caractère à l'argument start) est inférieur à ceux compris dans l'argument length, tous les caractères entre la position de l'argument start et la fin de la chaîne sont renvoyés.

Notes

Pour déterminer le nombre de caractères contenus dans l'argument string, utilisez la fonction Len.

L'exemple ci-dessous utilise la fonction Mid pour renvoyer six caractères à partir du quatrième, dans une chaîne :

Dim MyVar
MyVar = Mid("VB Script est super!", 4, 6) ' MyVar contient "Script".

Remarque Une autre fonction (MidB) est disponible pour être utilisée avec les données d'octet contenues dans une chaîne. Au lieu de spécifier le nombre de caractères, les arguments spécifient le nombre d'octets.

Version requise

Version 1

Voir aussi

Left, fonction | Len, fonction | LTrim, RTrim et Trim, fonctions | Right, fonction


Minute

Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la minute de l'heure.

Minute(time)

L'argument time est toute expression représentant une heure. Si l'argument time contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise la fonction Minute pour renvoyer le chiffre des minutes de l'heure actuelle :

Dim MyVar
MyVar = Minute(Now)

Version requise

Version 1

Voir aussi

Day, fonction | Hour, fonction | Now, fonction | Second, fonction | Time, fonction


Month, fonction

Renvoie un nombre entier compris entre 1 et 12 inclus, représentant le mois de l'année.

Month(date)

L'argument date est toute expression pouvant représenter une date. Si l'argument date contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise la fonction Month pour renvoyer le mois en cours :

Dim MyVar
MyVar = Month(Now) ' MyVar contient le numéro correspondant
                   ' au mois en cours.

Version requise

Version 1

Voir aussi

Date, fonction | Day, fonction | Now, fonction | Weekday, fonction | Year, fonction


MonthName, fonction

Renvoie une chaîne indiquant le mois spécifié.

MonthName(month[, abbreviate])

Arguments

month

Désignation numérique du mois. Par exemple, 1 pour janvier, 2 pour février, et ainsi de suite.

abbreviate

Facultatif. Valeur de type Boolean indiquant si le nom de mois est abrégé. Si cette valeur est omise, la valeur par défaut est False, ce qui signifie que le nom du mois n'est pas abrégé.

Notes

L'exemple ci-dessous utilise la fonction MonthName pour renvoyer le nom du mois abrégé pour une expression de date :

Dim MyVar
MyVar = MonthName(10, True) ' MyVar contient "Oct".

Version requise

Version 2

WeekDayName, fonction


MsgBox, fonction

Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton et renvoie une valeur indiquant le bouton choisi par l'utilisateur.

MsgBox(prompt[, buttons][, title][, helpfile, context])

Arguments

prompt

Expression de chaîne qui est affichée sous la forme d'un message dans la boîte de dialogue. La longueur maximum de l'argument prompt est environ 1024 caractères, selon la largeur des caractères utilisés. Si l'argument prompt se compose de plusieurs lignes, vous pouvez les séparer en utilisant un caractère de retour chariot (Chr(13)), un caractère de retour à la ligne (Chr(10)) ou une combinaison de ces deux caractères (Chr(13) & Chr(10)).

buttons

Expression numérique correspondant à la somme des valeurs spécifiant le nombre et le type de boutons à afficher, le style d'icône à utiliser, l'identité du bouton par défaut et la modalité du message. Pour les valeurs, reportez-vous à la section ci-après. Si elle est omise, la valeur par défaut de l'argument buttons est 0.

title

Expression de chaîne affichée dans la barre de titre de la boîte de dialogue. Si vous omettez l'argument title, le nom de l'application s'affiche dans la barre de titre.

helpfile

Expression de chaîne qui identifie le fichier d'aide à utiliser pour fournir l'aide contextuelle de la boîte de dialogue. Si l'argument helpfile est fourni, l'argument context doit aussi l'être. Non disponible sur les plates-formes 16 bits.

context

Expression numérique correspondant au numéro de contexte d'aide affecté par l'auteur de l'Aide à la rubrique d'aide appropriée. Si l'argument context est fourni, l'argument helpfile doit aussi l'être.

Paramètres

L'argument buttons peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbOKOnly | 0 | Affiche uniquement le bouton OK.
vbOKCancel | 1 | Affiche les boutons OK et Annuler.
vbAbortRetryIgnore | 2 | Affiche les boutons Abandon, Réessayer et Ignorer.
vbYesNoCancel | 3 | Affiche les boutons Oui, Non et Annuler.
vbYesNo | 4 | Affiche les boutons Oui et Non.
vbRetryCancel | 5 | Affiche les boutons Réessayer et Annuler.
vbCritical | 16 | Affiche l'icône Message critique.
vbQuestion | 32 | Affiche l'icône Demande d'avertissement.
vbExclamation | 48 | Affiche l'icône Message d'avertissement.
vbInformation | 64 | Affiche l'icône Message d'information.
vbDefaultButton1 | 0 | Le premier bouton est le bouton par défaut.
vbDefaultButton2 | 256 | Le deuxième bouton est le bouton par défaut.
vbDefaultButton3 | 512 | Le troisième bouton est le bouton par défaut.
vbDefaultButton4 | 768 | Le quatrième bouton est le bouton par défaut.
vbApplicationModal | 0 | Application modale ; l'utilisateur doit répondre au message avant de continuer à travailler dans l'application courante.
vbSystemModal | 4096 | Système modal ; toutes les applications sont suspendues jusqu'à ce que l'utilisateur réponde au message.

Le premier groupe de valeurs (0 à 5) décrit le nombre et le type de boutons affichés dans la boîte de dialogue ; le deuxième groupe (16, 32, 48, 64) décrit le style d'icône ; le troisième groupe (0, 256, 512, 768) détermine le bouton par défaut ; et le quatrième groupe (0, 4096) détermine la modalité du message. Au moment de l'ajout de nombres en vue de créer une valeur finale pour l'argument buttons, n'utilisez qu'un seul nombre de chaque groupe.

Valeurs renvoyées

La fonction MsgBox renvoie les valeurs suivantes :

Constante | Valeur | Bouton choisi
vbOK | 1 | OK
vbCancel | 2 | Annuler
vbAbort | 3 | Abandon
vbRetry | 4 | Réessayer
vbIgnore | 5 | Ignorer
vbYes | 6 | Oui
vbNo | 7 | Non

Notes

Quand les arguments helpfile et context sont tous deux fournis, l'utilisateur peut appuyer sur F1 pour afficher la rubrique d'aide correspondant au contexte.

Si la boîte de dialogue affiche un bouton Annuler, le fait d'appuyer sur la touche ÉCHAP a le même effet que de cliquer sur Annuler. Si la boîte de dialogue contient un bouton Aide, l'aide contextuelle est disponible pour la boîte de dialogue. Toutefois, aucune valeur n'est renvoyée avant qu'un des autres boutons ne soit sélectionné.

Lorsque la fonction MsgBox est utilisée avec Microsoft Internet Explorer, le titre de toute boîte de dialogue présentée contient toujours l'indication "VBScript:" pour la différencier des boîtes de dialogue système standard.

L'exemple ci-dessous utilise la fonction MsgBox pour afficher une boîte de message et renvoyer une valeur indiquant sur quel bouton l'utilisateur a cliqué :

Dim MyVar
MyVar = MsgBox ("Bonjour!", 65, "Exemple MsgBox")
   ' MyVar contient 1 ou 2, en fonction du bouton sur lequel l'utilisateur a cliqué.

Version requise

Version 1

InputBox, fonction


Now, fonction

Éditions Visual Basic Scripting Référence du langage

Now

Renvoie la date et l'heure en cours en fonction de leur paramétrage dans le système de votre ordinateur.

Now

Notes

L'exemple ci-dessous utilise la fonction Now pour renvoyer la date et l'heure actuelles :

Dim MyVar
MyVar = Now ' MyVar contient la date et l'heure actuelles.

Version requise

Version 1

Voir aussi

Date, fonction | Day, fonction | Hour, fonction | Minute, fonction | Month, fonction | Second, fonction | Time, fonction | Weekday, fonction | Year, fonction


Oct

Renvoie une chaîne représentant la valeur octale d'un nombre.

Oct(number)

L'argument number représente toute expression valide.

Notes

Si l'argument number n'est pas déjà un entier, il est arrondi au nombre entier le plus proche avant d'être évalué.

Si number est | Oct renvoie la valeur
Null | Null.
Empty | Zéro (0).
Tout autre nombre | 11 caractères octaux maximum.

Vous pouvez représenter les nombres octaux directement en faisant précéder directement de &O les nombres compris dans la plage correcte. Par exemple, &O10 est la notation octale de la décimale 8.

L'exemple ci-dessous utilise la fonction Oct pour renvoyer la valeur octale d'un nombre :

Dim MyOct
MyOct = Oct(4)     ' Renvoie 4.
MyOct = Oct(8)     ' Renvoie 10.
MyOct = Oct(459)   ' Renvoie 713.

Version requise

Version 1

Hex, fonction


Replace, fonction

Renvoie une chaîne dans laquelle une sous-chaîne donnée a été remplacée par une autre sous-chaîne le nombre de fois spécifié.

Replace(expression, find, replacewith[, start[, count[, compare]]])

Arguments

expression

Expression de chaîne contenant une sous-chaîne à remplacer.

find

Sous-chaîne recherchée.

replacewith

Sous-chaîne de remplacement.

start

Facultatif. Position dans l'argument expression où la recherche de sous-chaîne doit commencer. Si elle est omise, la position 1 est prise par défaut. Elle doit être utilisée en conjonction avec count.

count

Facultatif. Nombre de remplacements de sous-chaîne à effectuer. Si cette valeur est omise, la valeur par défaut -1, qui signifie tous les remplacements possibles, est employée. Elle doit être utilisée en conjonction avec start.

compare

Facultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Reportez-vous à la section Paramètres. Si elle est omise, la valeur par défaut est 0, comparaison binaire.

Paramètres

L'argument compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Valeurs renvoyées

La valeur Replace renvoie les valeurs suivantes :

Si | La fonction Replace renvoie
expression a une longueur nulle | Une chaîne de longueur nulle ("").
expression a la valeur Null | Une erreur.
find a une longueur nulle | Une copie d'expression.
replacewith a une longueur nulle | Une copie d'expression, toutes les occurrences de find étant retirées.
start > Len(expression) | Une chaîne de longueur nulle.
count a une valeur de 0 | Une copie d'expression.

Notes

La valeur renvoyée par la fonction Replace est une chaîne, une fois les substitutions effectuées, qui commence à la position spécifiée par l'argument start et se termine à la fin de la chaîne expression. Elle n'est pas une copie de la chaîne d'origine du début à la fin.

L'exemple ci-dessous utilise la fonction Replace pour renvoyer une chaîne :

Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")   ' Comparaison binaire commençant au début de la chaîne. Renvoie "XXYXXPXXY".
MyString = Replace("XXpXXPXXp", "p", "Y",   ' Comparaison textuelle commençant à la position 3. Renvoie "YXXYXXY". 3, -1, 1)

Version requise

Version 2

Filter, fonction


RGB, fonction

Renvoie un nombre entier représentant une valeur de couleur RVB.

RGB(red, green, blue)

Arguments

red

Nombre de 0 à 255 représentant la composante rouge de la couleur.

green

Nombre de 0 à 255 représentant la composante verte de la couleur.

blue

Nombre de 0 à 255 représentant la composante bleue de la couleur.

Notes

Les propriétés et les méthodes de l'application qui acceptent une spécification de couleur s'attendent à la recevoir sous forme de valeur de couleur RVB. Une valeur de couleur RVB spécifie l'intensité des composantes rouge, verte et bleue qui composent la couleur affichée.

L'octet de poids faible contient la valeur du rouge, l'octet central contient la valeur du vert et l'octet de poids fort contient la valeur du bleu.

Pour les applications qui utilisent un ordre d'octets inversé, la fonction ci-dessous fournit la même information avec les octets inversés :

Function RevRGB(rouge, vert, bleu)
   RevRGB= CLng(bleu + (vert * 256) + (rouge * 65536))
End fonction

Toute valeur d'argument supérieure à 255 est ramenée à 255.

Version requise

Version 2


Right, fonction

Renvoie un nombre spécifié de caractères à partir de la droite d'une chaîne.

Right(string, length)

Arguments

string

Expression de chaîne à partir de laquelle les caractères à l'extrême droite sont renvoyés. Si l'argument string contient la valeur Null, la valeur Null est renvoyée.

length

Expression numérique indiquant le nombre de caractères à renvoyer. Pour la valeur 0, une chaîne de longueur nulle est renvoyée. Pour une valeur supérieure ou égale au nombre de caractères contenus dans l'argument string, la chaîne entière est renvoyée.

Notes

Pour déterminer le nombre de caractères contenus dans l'argument string, utilisez la fonction Len.

L'exemple ci-dessous utilise la fonction Right pour renvoyer un nombre spécifié de caractères à partir de la droite d'une chaîne :

Dim AnyString, MyStr
AnyString = "Bonjour"          ' Définit la chaîne.
MyStr = Right(AnyString, 1)    ' Renvoie "r".
MyStr = Right(AnyString, 4)    ' Renvoie "jour".
MyStr = Right(AnyString, 20)   ' Renvoie "Bonjour".

Remarque Une autre fonction RightB est disponible pour les données de type octet contenues dans une chaîne. Au lieu de spécifier le nombre de caractères à renvoyer, l'argument length spécifie le nombre d'octets.

Version requise

Version 1

Left, fonction | Len, fonction | Mid, fonction


Rnd, fonction

Renvoie un nombre aléatoire.

Rnd[(number)]

L'argument number peut être toute expression numérique valide.

Notes

La fonction Rnd renvoie une valeur inférieure à 1 mais supérieure ou égale à 0. La valeur de number détermine de quelle façon Rnd génère un nombre aléatoire :

Si number est | Rnd génère
Inférieur à zéro | Le même nombre chaque fois, en utilisant l'argument number comme valeur initiale.
Supérieur à zéro | Le prochain nombre aléatoire de la séquence.
Égal à zéro | Le nombre le plus récemment généré.
Non fourni | Le prochain nombre aléatoire de la séquence.

Pour toute valeur initiale donnée, la même séquence de nombres est générée car chaque appel successif de la fonction Rnd utilise le nombre précédent comme valeur initiale pour le nombre suivant de la séquence.

Avant d'appeler la fonction Rnd, utilisez l'instruction Randomize sans argument pour initialiser le générateur de nombres aléatoires avec une valeur initiale basée sur l'horloge système.

Pour produire des entiers aléatoires dans une plage donnée, utilisez la formule suivante :

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Dans cette formule, upperbound est le plus grand nombre de la plage et lowerbound le plus petit nombre de la plage.

Remarque Pour répéter des séquences de nombres aléatoires, appelez la fonction Rnd avec un argument négatif immédiatement avant d'utiliser Randomize avec un argument numérique. L'utilisation de Randomize avec la même valeur pour number ne répète pas la séquence précédente.

Version requise

Version 1

Randomize, instruction


Round, fonction

Renvoie un nombre arrondi à un nombre spécifié de positions décimales.

Round(expression[, numdecimalplaces])

Arguments

expression

Expression numérique arrondie.

numdecimalplaces

Facultatif. Nombre indiquant combien de positions à la droite de la virgule sont incluses dans le nombre arrondi. Si cette valeur est omise, les entiers sont arrondis par la fonction Round.

Notes

L'exemple ci-dessous utilise la fonction Round pour arrondir un nombre à deux décimales :

Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi, 2) ' MyVar contient 3.14.

Version requise

Version 2

Int, Fix, fonctions


ScriptEngine, fonction

Renvoie une chaîne représentant le langage de script utilisé.

ScriptEngine

Valeurs renvoyées

La fonction ScriptEngine renvoient l'une des chaînes suivantes :

Chaîne | Description
VBScript | Indique que Microsoft® Visual Basic® Scripting Edition est le moteur de script en cours.
JScript | Indique que Microsoft JScript® est le moteur de script en cours.
VBA | Indique que Microsoft Visual Basic pour Applications est le moteur de script en cours.

Notes

L'exemple ci-dessous utilise la fonction ScriptEngine pour renvoyer une chaîne décrivant le langage de script utilisé :

Function GetScriptEngineInfo
   Dim s
   s = ""   ' Construit une chaîne contenant les informations nécessaires.
   s = ScriptEngine & " Version "
   s = s & ScriptEngineMajorVersion & "."
   s = s & ScriptEngineMinorVersion & "."
   s = s & ScriptEngineBuildVersion
   GetScriptEngineInfo =  s   ' Renvoie le résultat.
End, fonction

Version requise

Version 2

Voir aussi

ScriptEngineBuildVersion, fonction | ScriptEngineMajorVersion, fonction | ScriptEngineMinorVersion, fonction


ScriptEngineBuildVersion, fonction

Renvoie le numéro de version du moteur de script employé.

ScriptEngineBuildVersion

Notes

La valeur renvoyée correspond directement aux informations de version contenues dans la DLL du langage de script employé.

L'exemple ci-dessous utilise la fonction ScriptEngineBuildVersion pour renvoyer le numéro de génération du moteur de script :

Function GetScriptEngineInfo
   Dim s
   s = ""   ' Construit une chaîne contenant les informations nécessaires.
   s = ScriptEngine & " Version "
   s = s & ScriptEngineMajorVersion & "."
   s = s & ScriptEngineMinorVersion & "."
   s = s & ScriptEngineBuildVersion
   GetScriptEngineInfo = s   ' Renvoie le résultat.
End, fonction

Version requise

Version 2

Voir aussi

ScriptEngine, fonction | ScriptEngineMajorVersion, fonction | ScriptEngineMinorVersion, fonction


ScriptEngineMajorVersion, fonction

Renvoie le numéro de version principal du moteur de script employé.

ScriptEngineMajorVersion

Notes

La valeur renvoyée correspond directement aux informations de version contenues dans la DLL du langage de script employé.

L'exemple ci-dessous utilise la fonction ScriptEngineMajorVersion pour renvoyer le numéro de version du moteur de script :

Function GetScriptEngineInfo
   Dim s
   s = ""   ' Construit une chaîne contenant les informations nécessaires.
   s = ScriptEngine & " Version "
   s = s & ScriptEngineMajorVersion & "."
   s = s & ScriptEngineMinorVersion & "."
   s = s & ScriptEngineBuildVersion
   GetScriptEngineInfo = s   ' Renvoie le résultat.
End, fonction

Version requise

Version 2

Voir aussi

ScriptEngine, fonction | ScriptEngineBuildVersion, fonction | ScriptEngineMinorVersion, fonction


ScriptEngineMinorVersion, fonction

Renvoie le numéro de version secondaire du moteur de script employé.

ScriptEngineMinorVersion

Notes

La valeur renvoyée correspond directement aux informations de version contenues dans la DLL du langage de script employé.

L'exemple ci-dessous utilise la fonction ScriptEngineMinorVersion pour renvoyer le numéro de version secondaire du moteur de script :

Function GetScriptEngineInfo
   Dim s
   s = ""   ' Construit une chaîne contenant les informations nécessaires.
   s = ScriptEngine & " Version "
   s = s & ScriptEngineMajorVersion & "."
   s = s & ScriptEngineMinorVersion & "."
   s = s & ScriptEngineBuildVersion
   GetScriptEngineInfo = s   ' Renvoie le résultat.
End, fonction

Version requise

Version 2

Voir aussi

ScriptEngine, fonction | ScriptEngineBuildVersion, fonction | ScriptEngineMajorVersion, fonction


Second, fonction

Renvoie un nombre entier compris entre 0 et 59 inclus, représentant la seconde de la minute.

Second(time)

L'argument time peut être toute expression pouvant représenter une heure. Si l'argument time contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise la fonction Second pour renvoyer le chiffre des secondes en cours :

Dim MySec
MySec = Second(Now)
   ' MySec contient le chiffre des secondes.

Version requise

Version 1

Voir aussi

Day, fonction | Hour, fonction | Minute, fonction | Now, fonction | Time, fonction


SetLocale, fonction

Définit les paramètres régionaux globaux et renvoie les paramètres régionaux précédents.

SetLocale(lcid)

L'argument lcid peut correspondre à toute valeur 32 bits acceptable ou à une abréviation identifiant de manière unique une langue parlée sur un territoire géographique bien précis. Les valeurs reconnues figurent dans le tableau des ID de langue.

Notes

Si lcid est nulle, les paramètres régionaux sont définis de manière à correspondre à ceux en vigueur pour le système.

Les paramètres régionaux sont un ensemble d'informations indiquant les préférences d'un utilisateur quant à sa langue, son pays et ses conventions culturelles. Ils déterminent notamment la disposition des touches sur le clavier, l'ordre utilisé pour le tri alphabétique, ainsi que les formats à respecter pour les dates, les heures, les nombres et les devises.

L'exemple ci-dessous illustre l'utilisation de la fonction SetLocale. Pour utiliser ce code, collez l'exemple dans son intégralité entre les balises <BODY> d'une page HTML standard.

Entrer la date en format Anglais-GB : <input type="text" id="UKDate" size="20"><p>
Voici l'équivalent pour le format Anglais-US : <input type="text" id="USdate" size="20"><p>
<input type="button" value="Convert" id="button1"><p>
Entrer un prix au format allemand : &nbsp; <input type="text" id="GermanNumber" size="20">
<p>
Voici l'équivalent au format Anglais-GB : <input type="text" id="USNumber" size="20"><p>
<input type="button" value="Convert" id="button2"><p>

<script language="vbscript">
Dim currentLocale
' Get the current locale
currentLocale = GetLocale

Sub Button1_onclick
  Dim original
  original = SetLocale("en-gb")
  mydate = CDate(UKDate.value)
  ' Internet Explorer définit toujours les paramètres régionaux sur
  ' Anglais-US ; aussi utilisez la variable currentLocale pour les définir   ' sur Anglais-US
  original = SetLocale(currentLocale)
  USDate.value = FormatDateTime(mydate,vbShortDate)
End Sub

Sub button2_onclick
  Dim original
  original = SetLocale("de")
  myvalue = CCur(GermanNumber.value)
  original = SetLocale("en-gb")
  USNumber.value = FormatCurrency(myvalue)
End Sub

</script>

Voir aussi

GetLocale, fonction | Tableau des ID de langue (LCID)


Sgn, fonction

Renvoie un entier indiquant le signe d'un nombre.

Sgn(number)

L'argument number représente toute expression numérique valide.

Valeurs renvoyées

La fonction Sgn comprend les valeurs renvoyées suivantes :

Si number est | Sgn renvoie
Supérieur à zéro | 1
Égal à zéro | 0
Inférieur à zéro | -1

Notes

Le signe de l'argument number détermine la valeur renvoyée de la fonction Sgn.

L'exemple ci-dessous utilise la fonction Sgn pour déterminer le signe d'un nombre :

Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1)   ' Renvoie 1.
MySign = Sgn(MyVar2)   ' Renvoie -1.
MySign = Sgn(MyVar3)   ' Renvoie 0.

Version requise

Version 1

Abs, fonction


Sin, fonction

Renvoie le sinus d'un angle.

Sin(number)

L'argument number représente toute expression numérique valide qui exprime un angle en radians.

Notes

La fonction Sin prend un angle et renvoie le rapport des deux côtés d'un triangle rectangle. Le rapport correspond à la longueur du côté opposé à l'angle, divisée par la longueur de l'hypoténuse. Le résultat est compris dans la plage -1 à 1.

Pour convertir les degrés en radians, multipliez les degrés par pi /180. Pour convertir les radians en degrés, multipliez les radians par 180/pi.

L'exemple ci-dessous utilise la fonction Sin pour renvoyer le sinus d'un angle :

Dim MyAngle, MyCosecant
MyAngle = 1.3   ' Définir l'angle en radians.
MyCosecant = 1 / Sin(MyAngle)   ' Calculer la cosécante.

Version requise

Version 1

Voir aussi

Atn, fonction | Cos, fonction | Fonctions mathématiques dérivées | Tan, fonction


Space, fonction

Renvoie une chaîne composée d'un nombre spécifié d'espaces.

Space(number)

L'argument number représente le nombre d'espaces que vous voulez dans la chaîne.

Notes

L'exemple ci-dessous utilise la fonction Space pour renvoyer une chaîne consistant en un nombre spécifié d'espaces :

Dim MyString
MyString = Space(10)   ' Renvoie une chaîne de 10 espaces.
MyString = "Bonjour" & Space(10) & "Bonsoir" ' Insère 10 espaces entre les deux chaînes.

Version requise

Version 1

String, fonction


Split, fonction

Renvoie un tableau à une dimension commençant par zéro contenant le nombre spécifié de sous-chaînes.

Split(expression[, delimiter[, count[, compare]]])

Arguments

expression

Expression de chaîne contenant des sous-chaînes et des séparateurs. Si l'argument expression est une chaîne de longueur nulle, la fonction Split renvoie un tableau vide, c'est-à-dire un tableau ne comportant ni éléments, ni données.

delimiter

Facultatif. Caractère de chaîne utilisé pour identifier les limites de sous-chaîne. S'il est omis, le caractère espace (" ") est utilisé comme séparateur par défaut. Si l'argument delimiter est une chaîne de longueur nulle, un tableau à un élément contenant toute la chaîne expression est renvoyée.

count

Facultatif. Nombre de sous-chaînes à renvoyer ; -1 indique que toutes les sous-chaînes sont renvoyées.

compare

Facultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Reportez-vous à la section Paramètres.

Paramètres

L'argument compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Notes

L'exemple ci-dessous utilise la fonction Split pour renvoyer un tableau à partir d'une chaîne. La fonction effectue une comparaison textuelle du délimiteur et renvoie toutes les sous-chaînes.

Dim MyString, MyArray, Msg
MyString = "VBScriptXestSuper!"
MyArray = Split(MyString, "x", -1, 1)
' MyArray(0) contient "VBScript".
' MyArray(1) contient "est".
' MyArray(2) contient "super !".
Msg = MyArray(0) & " " & MyArray(1)
Msg = Msg   & " " & MyArray(2)
MsgBox Msg

Version requise

Version 2

Join, fonction


Sqr, fonction

Renvoie la racine carrée d'un nombre.

Sqr(number)

L'argument number représente toute expression numérique supérieure ou égale à 0.

Notes

L'exemple ci-dessous utilise la fonction Sqr pour calculer la racine carrée d'un nombre :

Dim MySqr
MySqr = Sqr(4)   ' Renvoie 2.
MySqr = Sqr(23)   ' Renvoie 4.79583152331272.
MySqr = Sqr(0)   ' Renvoie 0.
MySqr = Sqr(-4)   ' Génère une erreur d'exécution.

Version requise

Version 1


StrComp, fonction

Renvoie une valeur indiquant le résultat d'une comparaison de chaîne.

StrComp(string1, string2[, compare])

Arguments

string1

Toute expression de chaîne valide.

string2

Toute expression de chaîne valide.

compare

Facultatif. Valeur numérique qui indique le type de comparaison à effectuer pour l'évaluation des chaînes. Si l'argument compare est omis, une comparaison binaire est effectuée. Les valeurs sont indiquées dans la section Paramètres.

Paramètres

L'argument compare peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectue une comparaison binaire.
vbTextCompare | 1 | Effectue une comparaison texte.

Valeurs renvoyées

La fonction StrComp renvoie les valeurs suivantes :

Si | La fonction StrComp renvoie
string1 est inférieur à string2 | -1
string1 est égal à string2 | 0
string1 est supérieur à string2 | 1
string1 ou string2 est Null | Null

Notes

L'exemple ci-dessous utilise la fonction StrComp pour renvoyer le résultat d'une comparaison de chaînes. Si le troisième argument vaut 1, la comparaison est textuelle. S'il vaut 0 ou s'il est absent, la comparaison est binaire.

Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd"   ' Définir les variables.
MyComp = StrComp(MyStr1, MyStr2, 1)   ' Renvoie 0.
MyComp = StrComp(MyStr1, MyStr2, 0)   ' Renvoie -1.
MyComp = StrComp(MyStr2, MyStr1)   ' Renvoie 1.

Version requise

Version 1


String, fonction

Renvoie une chaîne constituée d'un caractère répété sur la longueur spécifiée.

String(number, character)

Arguments

number

Longueur de la chaîne renvoyée. Si l'argument number contient Null, la valeur Null est renvoyée.

character

Code de caractère spécifiant le caractère ou l'expression de chaîne dont le premier caractère est utilisé pour construire la chaîne renvoyée. Si l'argument character contient Null, la valeur Null est renvoyée.

Notes

Si vous spécifiez pour l'argument character un nombre supérieur à 255, la fonction String convertit le nombre en un code de caractère valide à l'aide de la formule :

character Mod 256

L'exemple ci-dessous utilise la fonction String pour renvoyer des chaînes de caractères répétés de longueur spécifiée :

Dim MyString
MyString = String(5, "*")   ' Renvoie "*****".
MyString = String(5, 42)   ' Renvoie "*****".
MyString = String(10, "ABC")   ' Renvoie "AAAAAAAAAA".

Version requise

Version 1

Space, fonction


StrReverse, fonction

Renvoie une chaîne contenant des caractères dont l'ordre a été inversé par rapport à une chaîne donnée.

StrReverse(string1)

L'argument string1 est la chaîne pour laquelle l'inversion des caractères a été demandée. Si l'argument string1est une chaîne de longueur nulle (""), alors la fonction renvoie une chaîne de longueur nulle. Si l'argument string1 est Null, une erreur se produit.

Notes

L'exemple ci-dessous utilise la fonction StrReverse pour renvoyer une chaîne inversée :

Dim MyStr
MyStr = StrReverse("VBScript") ' MyStr contient "tpircSBV".

Version requise

Version 2


Tan, fonction

Renvoie la tangente d'un angle.

Tan(number)

L'argument number représente toute expression numérique valide qui exprime un angle en radians.

Notes

La fonction Tan prend un angle et renvoie le rapport des deux côtés d'un triangle rectangle. Le rapport correspond à la longueur du côté opposé à l'angle, divisée par la longueur du côté adjacent à l'angle.

Pour convertir des degrés en radians, multipliez les degrés par pi /180. Pour convertir des radians en degrés, multipliez les radians par 180/pi.

L'exemple ci-dessous utilise la fonction Tan pour renvoyer la tangente d'un angle :

Dim MyAngle, MyCotangent
MyAngle = 1.3   ' Définir l'angle en radians.
MyCotangent = 1 / Tan(MyAngle)   ' Calculer la cotangente.

Version requise

Version 1

Voir aussi

Atn, fonction | Cos, fonction | Fonctions mathématiques dérivées | Sin, fonction


Time, fonction

Renvoie un Variant de sous-type Date indiquant l'heure système en cours.

Time

Notes

L'exemple ci-dessous utilise la fonction Time pour renvoyer l'heure système actuelle :

Dim MyTime
MyTime = Time   ' Renvoie l'heure système actuelle.

Version requise

Version 1

Date, fonction


Timer, fonction

Renvoie le nombre de secondes qui se sont écoulées depuis 00:00 (minuit).

Timer

Notes

L'exemple suivant utilise la fonction Timer pour déterminer le temps nécessaire pour l'itération d'une boucle For...Next un nombre N spécifié :

Function TimeIt(N)
   Dim StartTime, EndTime
   StartTime = Timer
   For I = 1 To N
   Next
   EndTime = Timer
   TimeIt = EndTime - StartTime
End Function

Version requise

Version 5

Randomize, instruction


TimeSerial, fonction

Renvoie un Variant de sous-type Date contenant l'heure correspondant à des éléments spécifiques d'heure, de minute et de seconde.

TimeSerial(hour, minute, second)

Arguments

hour

Nombre entre 0 (12:00) et 23 (11:00) inclus ou expression numérique.

minute

Toute expression numérique.

second

Toute expression numérique.

Notes

Pour spécifier une heure telle que 11:59:59, la plage des nombres pour chaque argument TimeSerial doit se situer dans la plage normalement acceptée pour l'unité ; autrement dit, 0–23 pour les heures et 0–59 pour les minutes et les secondes. Toutefois, vous pouvez aussi spécifier des heures relatives pour chaque argument en utilisant toute expression numérique qui représente un certain nombre d'heures, de minutes ou de secondes avant ou après une heure donnée.

L'exemple suivant utilise des expressions à la place de nombres absolus d'heure. La fonction TimeSerial renvoie une heure correspondant à 15 avant (-15) six heures avant midi (12 - 6) ou 5:45:00.

Dim MyTime1
MyTime1 = TimeSerial(12 - 6, -15, 0) ' Renvoie 5:45:00.

Lorsqu'un argument dépasse la plage normalement acceptée, il s'incrémente sur l'unité supérieure suivante. Si, par exemple, vous spécifiez 75 minutes, elles sont évaluées en 1 heure et 15 minutes. Toutefois, si un seul argument n'est pas compris dans la plage -32,768 à 32,767, ou si l'heure spécifiée par les trois arguments, soit directement soit par expression, génère une date non comprise dans la plage des dates acceptables, une erreur se produit.

Version requise

Version 1

Voir aussi

DateSerial, fonction | DateValue, fonction | Hour, fonction | Minute, fonction | Now, fonction | Second, fonction | TimeValue, fonction


TimeValue

Renvoie un Variant de sous-type Date contenant l'heure.

TimeValue(time)

L'argument time est habituellement une expression de chaîne représentant une heure de 0:00:00 (12:00:00) à 23:59:59 (11:59:59) inclus. Toutefois, l'argument time peut aussi être toute expression représentant une heure comprise dans cette plage. Si l'argument time contient Null, la valeur Null est renvoyée.

Notes

Vous pouvez entrer des heures valides en utilisant une horloge au format 12 ou 24 heures. Par exemple, "2:24" et "14:24" sont tous deux des valeurs de l'argument time. si l'argument time contient des informations de date, la fonction TimeValue ne les renvoie pas. Toutefois, si l'argument time inclut des informations de date incorrectes, une erreur se produit.

L'exemple ci-dessous utilise la fonction TimeValue pour convertir une chaîne en heure. Vous pouvez également utiliser littéraux de dates pour affecter directement une heure à une variable Variant, par exemple MyTime = #16:35:17#.

Dim MyTime
MyTime = TimeValue("16:35:17")   ' MyTime contient 16:35:17.

Version requise

Version 1

Voir aussi

DateSerial, fonction | DateValue, fonction | Hour, fonction | Minute, fonction | Now, fonction | Second, fonction | TimeSerial, fonction


TypeName, fonction

Renvoie une chaîne qui fournit des informations de sous-type Variant sur une variable.

TypeName(varname)

L'argument varname représente toute variable.

Valeurs renvoyées

La fonction TypeName renvoient les valeurs suivantes :

Valeur | Description
Byte | Valeur de type octet
Integer | Valeur de type entier
Long | Valeur de type entier long
Single | Valeur en virgule flottante à simple précision
Double | Valeur en virgule flottante à double précision
Currency | Valeur de type monétaire
Decimal | Valeur de type décimal
Date | Valeur de date ou d'heure
String | Valeur de chaîne de caractères
Boolean | Valeur de type booléen ; True ou False
Empty | Non initialisée
Null | Aucune donnée valide
&ltobject type> | Nom de type réel d'un objet
Object | Objet générique
Unknown | Type d'objet inconnu
Nothing | Variable d'objet ne se référant encore à aucune instance d'objet
Error | Erreur

Notes

L'exemple ci-dessous utilise la fonction TypeName pour renvoyer des informations sur une variable :

Dim ArrayVar(4), MyType
NullVar = Null   ' Affecter la valeur Null.

MyType = TypeName("VBScript")   ' Renvoie "String".
MyType = TypeName(4)            ' Renvoie "Integer".
MyType = TypeName(37.50)        ' Renvoie "Double".
MyType = TypeName(NullVar)      ' Renvoie "Null".
MyType = TypeName(ArrayVar)     ' Renvoie "Variant()".

Version requise

Version 2

Voir aussi

IsArray, fonction | IsDate, fonction | IsEmpty, fonction | IsNull, fonction | IsNumeric, fonction | IsObject, fonction | VarType, fonction


UBound, fonction

Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau.

UBound(arrayname[, dimension])

Arguments

arrayname

Nom de la variable tableau ; respectez les conventions standard d'affectation de noms à des variables.

dimension

Nombre entier indiquant pour quelle dimension la limite supérieure est renvoyée. Utilisez 1 pour la première dimension, 2 pour la deuxième, etc. Si l'élément dimension est omis, 1 est supposé.

Notes

La fonction UBound est utilisée avec la fonction LBound pour déterminer la taille d'un tableau. Utilisez la fonction LBound pour trouver la limite inférieure d'une dimension de tableau.

La limite inférieure de toute dimension est toujours 0. En conséquence, la fonction UBound renvoie les valeurs répertoriées dans la table ci-dessous pour un tableau avec les dimensions suivantes :

Dim A(100,3,4)
Instruction | Valeur renvoyée
UBound(A, 1) | 100
UBound(A, 2) | 3
UBound(A, 3) | 4

Version requise

Version 1

Dim, instruction | LBound, fonction | ReDim, instruction


UCase, fonction

Renvoie une chaîne qui a été convertie en majuscules.

UCase(string)

L'argument string représente toute expression de chaîne valide. Si l'argument string contient Null, la valeur Null est renvoyée.

Notes

Seules les lettres minuscules sont converties en majuscules ; toutes les majuscules et les caractères autres que des lettres demeurent inchangés.

L'exemple ci-dessous utilise la fonction UCase pour renvoyer une version en majuscules d'une chaîne :

Dim MyWord
MyWord = UCase("Bonjour")   ' Renvoie "Bonjour".

Version requise

Version 1

LCase, fonction


VarType, fonction

Renvoie une valeur indiquant le sous-type d'une variable.

VarType(varname)

L'argument varname représente toute variable.

Valeurs renvoyées

La fonction VarType renvoie les valeurs suivantes :

Constante | Valeur | Description
vbEmpty | 0 | Empty (non initialisée)
vbNull | 1 | Null (aucune donnée valide)
vbInteger | 2 | Entier
vbLong | 3 | Entier long
vbSingle | 4 | Nombre en virgule flottante en simple précision
vbDouble | 5 | Nombre en virgule flottante en double précision
vbCurrency | 6 | Monétaire
vbDate | 7 | Date
vbString | 8 | Chaîne
vbObject | 9 | Objet Automation
vbError | 10 | Erreur
vbBoolean | 11 | Booléen
vbVariant | 12 | Variant (utilisé seulement avec des tableaux de Variants)
vbDataObject | 13 | Objet non Automation
vbByte | 17 | Octet
vbArray | 8192 | Tableau

Remarque Ces constantes sont spécifiées par VBScript. En conséquence, les noms peuvent être utilisés n'importe où dans votre code à la place des valeurs réelles.

Notes

La fonction VarType ne renvoie jamais la valeur du sous-type Tableau par elle-même. Elle est toujours ajoutée à une autre valeur pour indiquer un tableau d'un type particulier. La valeur du sous-type Variant n'est renvoyée que si elle a été ajoutée à la valeur du sous-type Tableau pour indiquer que l'argument de la fonction VarType est un tableau. Par exemple, la valeur renvoyée pour un tableau d'entiers est calculée comme 2 + 8192 ou 8194. Si un objet possède une propriété par défaut, la fonction VarType (object) renvoie le type de cette propriété.

L'exemple ci-dessous utilise la fonction VarType pour déterminer le sous-type d'une variable.

Dim MyCheck
MyCheck = VarType(300)          ' Renvoie 2.
MyCheck = VarType(#10/19/62#)   ' Renvoie 7.
MyCheck = VarType("VBScript")   ' Renvoie 8.

Version requise

Version 1

Voir aussi

IsArray, fonction | IsDate, fonction | IsEmpty, fonction | IsNull, fonction | IsNumeric, fonction | IsObject, fonction | TypeName, fonction


Weekday, fonction

Renvoie un nombre entier représentant le jour de la semaine.

Weekday(date, [firstdayofweek])

Arguments

date

Toute expression représentant une date. Si l'argument date contient date la valeur Null, la valeur Null est renvoyée.

firstdayofweek

Une constante qui spécifie le premier jour de la semaine. Si cette valeur est omise, vbSunday est utilisé par défaut.

Paramètres

L'argument firstdayofweek peut prendre les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur de l'API NLS.
vbSunday | 1 | Dimanche
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi

Valeurs renvoyées

La fonction Weekday renvoie l'une des valeurs suivantes :

Constante | Valeur | Description
vbSunday | 1 | Dimanche
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi

Notes

L'exemple ci-dessous utilise la fonction Weekday pour obtenir le jour de la semaine correspondant à une date spécifiée :

Dim MyDate, MyWeekDay
MyDate = #October 19, 1962#   ' Affecter une date.
MyWeekDay = Weekday(MyDate)   ' MyWeekDay contient 6 parce que MyDate représente un vendredi.

Version requise

Version 1

Voir aussi

Date, fonction | Day, fonction | Month, fonction | Now, fonction | Year, fonction


WeekdayName, fonction

Renvoie une chaîne indiquant le jour de la semaine spécifié.

WeekdayName(weekday, abbreviate, firstdayofweek)

Arguments

weekday

Désignation numérique du jour de la semaine. La valeur numérique du jour de la semaine dépend de la valeur du paramètre firstdayofweek.

abbreviate

Facultatif. Valeur booléenne indiquant si le nom du jour de semaine doit être abrégé. Si cette valeur est omise, la valeur par défaut est False, ce qui signifie que le nom du jour de semaine n'est pas abrégé.

firstdayofweek

Facultatif. Valeur numérique indiquant le premier jour de la semaine.

Paramètres

L'argument firstdayofweek prend les valeurs suivantes :

Constante | Valeur | Description
vbUseSystem | 0 | Utilise la valeur API NLS.
vbSunday | 1 | Dimanche (par défaut)
vbMonday | 2 | Lundi
vbTuesday | 3 | Mardi
vbWednesday | 4 | Mercredi
vbThursday | 5 | Jeudi
vbFriday | 6 | Vendredi
vbSaturday | 7 | Samedi

Notes

L'exemple ci-dessous utilise la fonction WeekDayName pour renvoyer le jour spécifié :

Dim MyDate
MyDate = WeekDayName(6, True)   ' MyDate contient Ven.

Version requise

Version 2

MonthName, fonction


Year, fonction

Renvoie un nombre entier représentant l'année.

Year(date)

L'argument date peut être toute expression représentant une date. Si l'argument date contient Null, la valeur Null est renvoyée.

Notes

L'exemple ci-dessous utilise la fonction Year pour obtenir l'année à partir d'une date spécifiée :

Dim MyDate, MyYear
MyDate = #October 19, 1962#   ' Affecter une date.
MyYear = Year(MyDate)         ' MyYear contient 1962.

Version requise

Version 1

Voir aussi

Date, fonction | Day, fonction | Month, fonction | Now, fonction | Weekday, fonction


Mots clés de VBScript

Empty

False

Nothing

Null

True


Empty

Le mot clé Empty est utilisé pour indiquer la valeur d'une variable non initialisée. Cette valeur diffère de la valeur Null.

Null


False

Le mot clé False à une valeur égale à 0.

True


Nothing

Le mot clé Nothing dans VBScript est utilisé pour dissocier une variable objet de l'objet réel. Utilisez l'instruction Set pour affecter Nothing à une variable objet. Par exemple :

Set MyObject = Nothing

Plusieurs variables objets peuvent faire référence au même objet réel. Quand Nothing est affecté à une variable objet, celle-ci ne fait plus référence à un objet réel. Quand plusieurs variables objets font référence au même objet, les ressources mémoire et système associées à l'objet référencé par les variables ne sont libérées qu'une fois que toutes les variables ont été définies sur Nothing explicitement en utilisant Set, ou implicitement après que la dernière variable objet définie sur Nothing soit hors de portée.

Dim, instruction | Set, instruction


Null

Le mot clé Null est utilisé pour indiquer qu'une variable ne contient aucune donnée valide. Cette valeur est différente de la valeur Empty.

Empty


True

Le mot clé True a une valeur égale à -1.

False


Méthodes de VBScript

Description | Élément de langage
Réinitialise les propriétés de l'objet Err. | Clear, méthode
Exécute une recherche d'expression régulière dans une chaîne spécifiée. | Execute, méthode
Génère une erreur d'exécution. | Raise, méthode
Remplace le texte trouvé dans une recherche d'expression régulière. | Replace, méthode
Lance une recherche d'expression régulière dans une chaîne spécifiée. | Test, méthode


Clear, méthode

Réinitialise les propriétés de l'objet Err.

object.Clear

L'objet représente toujours un objet Err.

Notes

Utilisez la méthode Clear pour réinitialiser explicitement l'objet Err après le traitement d'une erreur. Ceci est nécessaire, par exemple, lorsque vous utilisez le traitement différé d'une erreur avec On Error Resume Next. VBScript appelle automatiquement la méthode Clear chaque fois que l'une des instructions suivantes est exécutée :

  • On Error Resume Next
  • Exit Sub
  • Exit Function

L'exemple ci-dessous illustre l'utilisation de la méthode Clear.

On Error Resume Next
Err.Raise 6  ' Génère une erreur de dépassement.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    ' Efface l'erreur.

Version requise

Version 1

Voir aussi

Description, propriété | Err, objet | Number, propriété | On Error, instruction | Raise, méthode | Source, propriété

Application : Err, objet


Execute, méthode

Exécute une recherche d'expression régulière dans une chaîne spécifiée.

object.Execute(string)

Arguments

object

Requis. Il s'agit toujours du nom d'un objet RegExp.

string

Requis. Chaîne de caractères à laquelle l'expression régulière est appliquée.

Notes

Les critères réels de la recherche d'expression régulière sont définis à l'aide de la propriété Pattern de l'objet RegExp.

La méthode Execute renvoie une collection Matches contenant un objet Match pour chaque correspondance trouvée dans l'élément string. Execute renvoie une collection Matches vide si aucune correspondance n'est trouvée.

Le code suivant montre comment utiliser la méthode Execute.

Function RegExpTest(patrn, strng)
  Dim regEx, Match, Matches      ' Crée la variable.
  Set regEx = New RegExp         ' Crée une expression régulière.
  regEx.Pattern = patrn      ' Définit les critères.
  regEx.IgnoreCase = True         ' Ignore la casse.
  regEx.Global = True         ' Définit une application globale.
  Set Matches = regEx.Execute(strng)   ' Lance la recherche.
  For Each Match in Matches      ' Itère la collection Matches.
    RetStr = RetStr & "Correspondance trouvée à la position "
    RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est '"
    RetStr = RetStr & Match.Value & "'." & vbCRLF
  Next
  RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

Replace, méthode | Test, méthode

Application : RegExp, objet


Raise, méthode

Génère une erreur d'exécution.

object.Raise(number, source, description, helpfile, helpcontext)

Arguments

object

Toujours l'objet Err.

number

Un sous-type entier Long qui identifie la nature de l'erreur. Les erreurs VBScript (tant définies par VBScript que par l'utilisateur) sont comprises dans la plage 0–65535.

source

Une expression de chaîne nommant l'objet ou l'application ayant initialement généré l'erreur. Lorsque vous définissez cette propriété pour un objet Automation, utilisez la forme project.class. Si rien n'est spécifié, l'identificateur de ressource du projet VBScript en cours est utilisé.

description

Une expression de chaîne décrivant l'erreur. Si elle n'est pas spécifiée, la valeur contenue dans l'argument number est examinée. Si elle peut être associée à un code d'erreur d'exécution VBScript, une chaîne fournie par VBScript est utilisée comme description. S'il n'existe aucune erreur VBScript correspondant à la valeur de l'argument number, un message d'erreur générique est utilisé.

helpfile

Le chemin d'accès complet du fichier d'aide contenant l'aide relative à cette erreur. Si cet argument n'est pas spécifié, VBScript utilise le lecteur, le chemin d'accès et le nom du fichier d'aide VBScript.

helpcontext

L'identificateur de contexte identifiant une rubrique contenue dans l'argument helpfile qui fournit l'aide correspondant à l'erreur. S'il est omis, l'identificateur de contexte du fichier d'aide VBScript pour l'erreur correspondant à la propriété number est utilisé, s'il existe.

Notes

Tous les arguments sont facultatifs à l'exception de number. Cependant, si vous utilisez la méthode Raise sans spécifier certains arguments et que les définitions des propriétés de l'objet Err contiennent des valeurs qui n'ont pas encore été supprimées, ces valeurs deviennent les valeurs de votre erreur.

Lorsque vous définissez la propriété number pour votre propre code d'erreur dans un objet Automation, vous ajoutez le numéro de votre code d'erreur à la constante vbObjectError. Par exemple, pour générer le numéro d'erreur 1050, affectez vbObjectError + 1050 à la propriété number.

L'exemple ci-dessous illustre l'utilisation de la méthode Raise.

On Error Resume Next
Err.Raise 6  ' Génère une erreur de dépassement.
MsgBox ("Erreur N° " & CStr(Err.Number) & " " & Err.Description)
Err.Clear    ' Efface l'erreur.

Version requise

Version 1

Voir aussi

Clear, méthode | Description, propriété | Err, objet | Number, propriété | Source, propriété

Application : Err, objet


Replace, méthode

Remplace le texte trouvé dans une recherche d'expression régulière.

object.Replace(string1, string2)

Arguments

object

Requis. Il s'agit toujours du nom d'un objet RegExp.

string1

Requis. String1 est la chaîne de caractères dans laquelle le remplacement a été effectué.

string2

Requis. String2 est la chaîne de caractères de remplacement.

Notes

Les critères réels du remplacement du texte en cours sont définis par la propriété Pattern de l'objet RegExp.

La méthode Replace renvoie une copie de la chaîne string1 avec le texte de l'élément RegExp.Pattern remplacé par la chaîne string2. Si aucune correspondance n'est trouvée, une copie de la chaîne string1 est renvoyée sans qu'elle soit modifiée.

Le code suivant montre comment utiliser la méthode Replace.

Function ReplaceTest(patrn, replStr)
  Dim regEx, str1               ' Crée des variables.
  str1 = "Le renard s'est jeté sur le chien."
  Set regEx = New RegExp            ' Crée l'expression régulière.
  regEx.Pattern = patrn            ' Définit les critères.
  regEx.IgnoreCase = True            ' Ignore la casse.
  ReplaceTest = regEx.Replace(str1, replStr)   ' Effectue le remplacement
End Function

MsgBox(ReplaceTest("renard", "chat"))      ' Remplace 'renard' par 'chat'.

De plus, la méthode Replace est en mesure de remplacer des sous-expressions selon les critères définis. L'appel suivant de la fonction présentée dans l'exemple ci-dessus permute chaque paire de mots de la chaîne d'origine :

MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1"))   ' Permute les paires de mots.

Version requise

Version 5

Voir aussi

Execute, méthode | Test, méthode

Application : RegExp, objet


Test, méthode

Lance une recherche d'expression régulière dans une chaîne spécifiée et renvoie une valeur booléenne qui indique si une correspondance selon les critères spécifiés a été trouvée.

object.Test(string)

Arguments

object

Requis. Il s'agit toujours du nom d'un objet RegExp.

string

Requis. Chaîne de caractères à laquelle l'expression régulière est appliquée.

Notes

Les critères réels d'une recherche d'expression régulière sont définis par la propriété Pattern de l'objet RegExp. La propriété RegExp.Global n'a aucun effet sur la méthode Test.

La méthode Test renvoie la valeur True si une correspondance selon les critères spécifiées a été trouvée. Dans le cas contraire, la valeur False est renvoyée.

Le code suivant montre comment utiliser la méthode Test.

Function RegExpTest(patrn, strng)
  Dim regEx, retVal            ' Crée la variable.
  Set regEx = New RegExp         ' Crée l'expression régulière.
  regEx.Pattern = patrn         ' Définit les critères.
  regEx.IgnoreCase = False      ' Définit le respect de la casse.
  retVal = regEx.Test(strng)      ' Lance le test de recherche.
  If retVal Then
    RegExpTest = "Une ou plusieurs correspondances ont été trouvées."
  Else
    RegExpTest = "Aucune correspondance n'a été trouvée."
  End If
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

Execute, méthode | Replace, méthode

Application : RegExp, objet


Jeu de caractères (0 - 127)

Code | Car | Code | Car | Code | Car | Code | Car
0 |  | 32 | [espace] | 64 | @ | 96 | `
1 |  | 33 | ! | 65 | A | 97 | a
2 |  | 34 | " | 66 | B | 98 | b
3 |  | 35 | # | 67 | C | 99 | c
4 |  | 36 | $ | 68 | D | 100 | d
5 |  | 37 | % | 69 | E | 101 | e
6 |  | 38 | & | 70 | F | 102 | f
7 |  | 39 | ' | 71 | G | 103 | g
8 | ** | 40 | ( | 72 | H | 104 | h
9 | ** | 41 | ) | 73 | I | 105 | i
10 | ** | 42 | * | 74 | J | 106 | j
11 |  | 43 | + | 75 | K | 107 | k
12 |  | 44 | , | 76 | L | 108 | l
13 | ** | 45 | - | 77 | M | 109 | m
14 |  | 46 | . | 78 | N | 110 | n
15 |  | 47 | / | 79 | O | 111 | o
16 |  | 48 | 0 | 80 | P | 112 | p
17 |  | 49 | 1 | 81 | Q | 113 | q
18 |  | 50 | 2 | 82 | R | 114 | r
19 |  | 51 | 3 | 83 | S | 115 | s
20 |  | 52 | 4 | 84 | T | 116 | t
21 |  | 53 | 5 | 85 | U | 117 | u
22 |  | 54 | 6 | 86 | V | 118 | v
23 |  | 55 | 7 | 87 | W | 119 | w
24 |  | 56 | 8 | 88 | X | 120 | x
25 |  | 57 | 9 | 89 | Y | 121 | y
26 |  | 58 | : | 90 | Z | 122 | z
27 |  | 59 | ; | 91 | [ | 123 | {
28 |  | 60 | < | 92 | \ | 124 | |
29 |  | 61 | = | 93 | ] | 125 | }
30 | - | 62 | > | 94 | ^ | 126 | ~
31 |  | 63 | ? | 95 | _ | 127 | 

** Les valeurs 8, 9, 10 et 13 sont converties respectivement en espace arrière, tabulation, saut de ligne et retour chariot. Ces caractères ne sont pas représentés graphiquement, mais en fonction de l'application utilisée, ont un impact sur l'affichage du texte.

 Non pris en charge sur la plate-forme actuelle.

Voir Aussi

Jeu de caractères (128 - 255)


Jeu de caractères (128 - 255)

Code | Car | Code | Car | Code | Car | Code | Car
128 | € | 160 | [espace] | 192 | À | 224 | à
129 |  | 161 | ¡ | 193 | Á | 225 | á
130 | ‚ | 162 | ¢ | 194 | Â | 226 | â
131 | ƒ | 163 | £ | 195 | Ã | 227 | ã
132 | „ | 164 | ¤ | 196 | Ä | 228 | ä
133 | … | 165 | ¥ | 197 | Å | 229 | å
134 | † | 166 | ¦ | 198 | Æ | 230 | æ
135 | ‡ | 167 | § | 199 | Ç | 231 | ç
136 | ˆ | 168 | ¨ | 200 | È | 231 | ç
137 | ‰ | 169 | © | 201 | É | 232 | è
138 | Š | 170 | ª | 202 | Ê | 233 | é
139 | ‹ | 171 | « | 203 | Ë | 234 | ê
140 | Œ | 172 | ¬ | 204 | Ì | 235 | ë
141 |  | 173 |  | 205 | Í | 236 | ì
142 | Ž | 174 | ® | 206 | Î | 237 | í
143 |  | 175 | ¯ | 207 | Ï | 238 | î
144 |  | 176 | ° | 208 | Ð | 239 | ï
145 | ‹ | 177 | ± | 209 | Ñ | 240 | ð
146 | › | 178 | ² | 210 | Ò | 241 | ñ
147 | “ | 179 | ³ | 211 | Ó | 242 | ò
148 | ” | 180 | ´ | 212 | Ô | 243 | ó
149 | · | 181 | µ | 213 | Õ | 244 | ô
150 | – | 182 | ¶ | 214 | Ö | 245 | õ
151 | — | 183 | · | 215 | × | 246 | ö
152 | ˜ | 184 | ¸ | 216 | Ø | 247 | ÷
153 | ™ | 185 | ¹ | 217 | Ù | 248 | ø
154 | š | 186 | º | 218 | Ú | 249 | ù
155 | › | 187 | » | 219 | Û | 250 | ú
156 | œ | 188 | ¼ | 220 | Ü | 251 | û
157 |  | 189 | ½ | 221 | Ý | 252 | ü
158 | ž | 190 | ¾ | 222 | Þ | 253 | ý
159 | Ÿ | 191 | ¿ | 223 | ß | 254 | þ

 Non pris en charge sur la plate-forme actuelle.

Voir Aussi

Jeu de caractères (0 - 127)


Tableau des ID de langue (LCID)

Description de la langue | Chaîne abrégée | Valeur hex. | Valeur décimale | Description de la langue | Chaîne abrégée | Valeur hex | Valeur décimale
Africaans | af | 0x0436 | 1078 | Hindi | hi | 0x0439 | 1081
Albanais | sq | 0x041C | 1052 | Hongrois | hu | 0x040E | 1038
Arabe - Émirats Arabes Unis. | ar-ae | 0x3801 | 14337 | Islandais | is | 0x040F | 1039
Arabe - Bahreïn | ar-bh | 0x3C01 | 15361 | Indonésien | in | 0x0421 | 1057
Arabe - Algérie | ar-dz | 0x1401 | 5121 | Italien - standard | it | 0x0410 | 1040
Arabe - Égypte | ar-eg | 0x0C01 | 3073 | Italien - Suisse | it-ch | 0x0810 | 2064
Arabe - Iraq | ar-iq | 0x0801 | 2049 | Japonais | ja | 0x0411 | 1041
Arabe - Jordanie | ar-jo | 0x2C01 | 11265 | Coréen | ko | 0x0412 | 1042
Arabe - Koweït | ar-kw | 0x3401 | 13313 | Letton | lv | 0x0426 | 1062
Arabe - Liban | ar-lb | 0x3001 | 12289 | Lituanien | lt | 0x0427 | 1063
Arabe - Libye | ar-ly | 0x1001 | 4097 | Macédonien | mk | 0x042F | 1071
Arabe - Maroc | ar-ma | 0x1801 | 6145 | Malais - Malaisie | ms | 0x043E | 1086
Arabe - Oman | ar-om | 0x2001 | 8193 | Maltais | mt | 0x043A | 1082
Arabe - Qatar | ar-qa | 0x4001 | 16385 | Norvégien - Bokmaal | no | 0x0414 | 1044
Arabe - Arabie Saoudite | ar-sa | 0x0401 | 1025 | Polonais | pl | 0x0415 | 1045
Arabe - Syrie | ar-sy | 0x2801 | 10241 | Portugais - standard | pt | 0x0816 | 2070
Arabe - Tunisie | ar-tn | 0x1C01 | 7169 | Portugais - Brésil | pt-br | 0x0416 | 1046
Arabe - Yémen | ar-ye | 0x2401 | 9217 | Rhéto-roman | rm | 0x0417 | 1047
Basque | eu | 0x042D | 1069 | Roumain | ro | 0x0418 | 1048
Biélorusse | be | 0x0423 | 1059 | Roumain - Moldavie | ro-mo | 0x0818 | 2072
Bulgare | bg | 0x0402 | 1026 | Russe | ru | 0x0419 | 1049
Catalan | ca | 0x0403 | 1027 | Russe - Moldavie | ru-mo | 0x0819 | 2073
Chinois - Rép. Populaire de Chine | zh-cn | 0x0804 | 2052 | Serbe - Cyrillique | sr | 0x0C1A | 3098
Chinois - Hong Kong | zh-hk | 0x0C04 | 3076 | Setswana | tn | 0x0432 | 1074
Chinois - Singapour | zh-sg | 0x1004 | 4100 | Slovène | sl | 0x0424 | 1060
Chinois - Taïwan | zh-tw | 0x0404 | 1028 | Slovaque | sk | 0x041B | 1051
Croate | hr | 0x041A | 1050 | Sorbe | sb | 0x042E | 1070
Tchèque | cs | 0x0405 | 1029 | Espagnol - standard | es | 0x040A | 1034
Danois | da | 0x0406 | 1030 | Espagnol - Argentine | es-ar | 0x2C0A | 11274
Néerlandais | nl | 0x0413 | 1043 | Espagnol - Bolivie | es-bo | 0x400A | 16394
Néerlandais - Belgique | nl-be | 0x0813 | 2067 | Espagnol - Chili | es-cl | 0x340A | 13322
Anglais - Australie | en-au | 0x0C09 | 3081 | Espagnol - Colombie | es-co | 0x240A | 9226
Anglais - Belize | en-bz | 0x2809 | 10249 | Espagnol - Costa Rica | es-cr | 0x140A | 5130
Anglais - Canada | en-ca | 0x1009 | 4105 | Espagnol - République dominicaine | es-do | 0x1C0A | 7178
Anglais - Irlande | en-ie | 0x1809 | 6153 | Espagnol - Équateur | es-ec | 0x300A | 12298
Anglais - Jamaïque | en-jm | 0x2009 | 8201 | Espagnol - Guatemala | es-gt | 0x100A | 4106
Anglais - Nouvelle-Zélande | en-nz | 0x1409 | 5129 | Espagnol - Honduras | es-hn | 0x480A | 18442
Anglais - Afrique du Sud | en-za | 0x1C09 | 7177 | Espagnol - Mexique | es-mx | 0x080A | 2058
Anglais - Trinidad | en-tt | 0x2C09 | 11273 | Nicaragua | es-ni | 0x4C0A | 19466
Anglais - Royaume-Uni | en-gb | 0x0809 | 2057 | Espagnol - Panama | es-pa | 0x180A | 6154
Anglais - États-Unis | en-us | 0x0409 | 1033 | Espagnol - Pérou | es-pe | 0x280A | 10250
Estonien | et | 0x0425 | 1061 | Espagnol - Puerto Rico | es-pr | 0x500A | 20490
Farsi (Persan) | fa | 0x0429 | 1065 | Espagnol - Paraguay | es-py | 0x3C0A | 15370
Finnois | fi | 0x040B | 1035 | Espagnol - El Salvador | es-sv | 0x440A | 17418
Féroen | fo | 0x0438 | 1080 | Espagnol - Uruguay | es-uy | 0x380A | 14346
Français - standard | fr | 0x040C | 1036 | Espagnol - Venezuela | es-ve | 0x200A | 8202
Français - Belgique | fr-be | 0x080C | 2060 | Sutu | sx | 0x0430 | 1072
French - Canada | fr-ca | 0x0C0C | 3084 | Suédois | sv | 0x041D | 1053
Français - Luxembourg | fr-lu | 0x140C | 5132 | Suédois - Finlande | sv-fi | 0x081D | 2077
Français - Suisse | fr-ch | 0x100C | 4108 | Thaï | th | 0x041E | 1054
Gaélique - Écosse | gd | 0x043C | 1084 | Turc | tr | 0x041F | 1055
Allemand - standard | de | 0x0407 | 1031 | Tsonga | ts | 0x0431 | 1073
Allemand - Autriche | de-at | 0x0C07 | 3079 | Ukrainien | uk | 0x0422 | 1058
Allemand - Liechtenstein | de-li | 0x1407 | 5127 | Ourdou - Pakistan | ur | 0x0420 | 1056
Allemand - Luxembourg | de-lu | 0x1007 | 4103 | Vietnamien | vi | 0x042A | 1066
Allemand - Suisse | de-ch | 0x0807 | 2055 | Xhosa | xh | 0x0434 | 1076
Grec | el | 0x0408 | 1032 | Yiddish | ji | 0x043D | 1085
Hébreu | he | 0x040D | 1037 | Zoulou | zu | 0x0435 | 1077


Objets de VBScript

Description | Élément de langage
Procure un accès aux événements de la classe créée. | Class, objet
Objet qui stocke des paires clé/élément de données. | Dictionary, objet
Contient l'information relative aux erreurs d'exécution. | Err, objet
Donne accès au système de fichiers d'un ordinateur. | FileSystemObject, objet
Procure un accès aux propriétés en lecture seule d'une correspondance d'expression régulière. | Match, objet
Collection d'objets Match sous forme d'expressions régulières. | Matches, collection
Permet uniquement la gestion des expressions régulières. | RegExp, objet
Fournit l'accès aux valeurs en lecture seule des chaînes de sous-correspondance d'une expression régulière. | SubMatches, collection


Class, objet

Objet créé à l'aide de l'instruction Class. Procure un accès aux événements de la classe.

Notes

Vous ne pouvez pas déclarer de façon explicite une variable de type Class. Dans le contexte VBScript, le terme "class object" fait référence à tout objet défini à l'aide de l'instruction de la Class VBScript.

Lorsque la définition d'une classe est créée à l'aide de l'instruction Class, vous êtes en mesure de créer une instance de la classe de la forme suivante :

Dim X
Set X = New classname

VBScript étant un langage récemment dépendant, vous ne pouvez pas écrire les expressions suivantes :

Dim X as New classname

-ou-

Dim X
X = New classname

-ou-

Set X = New Scripting.FileSystemObject

Événements

Initialize, événement | Terminate, événement

Version requise

Version 5

Class, instruction | Dim, instruction | Set, instruction


Err

Contient l'information relative aux erreurs d'exécution. Accepte les méthodes Raise et Clear pour générer et effacer des erreurs d'exécution.

Notes

L'objet Err est un objet intrinsèque de portée globale ; il n'est pas nécessaire de créer une instance de cet objet dans votre code. Les propriétés de l'objet Err sont définies par le générateur d'une erreur — Visual Basic, par un objet Automation ou par le programmeur VBScript.

La propriété par défaut de l'objet Err est Number. Err.Number contient un entier et peut être utilisé par un objet Automation pour renvoyer un SCODE.

Lorsqu'une erreur d'exécution se produit, les propriétés de l'objet Err contiennent des informations qui identifient de façon unique l'erreur et d'autres qui permettent de la gérer. Pour générer une erreur d'exécution dans votre code, utilisez la méthode Raise.

Les propriétés de l'objet Err sont remises à zéro ou réinitialisées avec des chaînes de longueur nulle ("") après une instruction On Error Resume ou Next. La méthode Clear peut être utilisée pour réinitialiser explicitement Err.

L'exemple ci-dessous illustre l'utilisation de l'objet Err :

On Error Resume Next
Err.Raise 6   ' Génère une erreur de dépassement.
MsgBox ("Erreur N° " & CStr(Err.Number) & " " & Err.Description)
Err.Clear      ' Efface l'erreur.

Propriétés

Description, propriété | HelpContext, propriété | HelpFile, propriété | Number, propriété | Source, propriété

Méthodes

Clear, méthode | Raise, méthode

Version requise

Version 1

On Error, instruction


Match, objet

Procure un accès aux propriétés d'une correspondance d'expression régulière.

Notes

Un objet Match peut être créé seulement par l'intermédiaire de la méthode Execute de l'objet RegExp. Ce dernier renvoie une collection d'objets Match. Toutes les propriétés des objets Match sont en lecture seule.

Lorsqu'une expression régulière est exécutée, il en résulte aucun, un ou plusieurs objets Match. Chaque objet Match procure un accès à la chaîne trouvée par l'expression régulière, fournit la longueur de la chaîne et un index indiquant où a été trouvée la correspondance.

Le code suivant montre comment utiliser un objet Match :

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée l'expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit le champ d'application.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance " & I & " trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est "'
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Propriétés

FirstIndex, propriété | Length, propriété | Value, propriété

Version requise

Version 5

Matches, collection | RegExp, objet | SubMatches, collection


Matches, collection

Collection d'objets Match sous forme d'expressions régulières.

Notes

Une collection Matches contient des objets individuels Match et peut être créée seulement à l'aide de la méthode Execute de l'objet RegExp. La collection Matches possède uniquement la propriété d'être en lecture seule, tout comme les objets individuels Match.

Lorsqu'une expression régulière est exécutée, il en résulte aucun, un ou plusieurs objets Match. Chaque objet Match procure un accès à la chaîne trouvée par l'expression régulière, fournit la longueur de la chaîne et un index indiquant où a été trouvée la correspondance.

Le code suivant montre la façon d'obtenir une collection Matches en utilisant une recherche d'expression régulière et la façon de parcourir la collection :

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée l'expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Définit le respect de la casse.
   regEx.Global = True   ' Définit le champ d'application
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & " Correspondance trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est "
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Propriétés

Count, propriété | Item, propriété

Version requise

Version 1

Voir aussi

For Each...Next, instruction | Match, objet | RegExp, objet | SubMatches, collection


Regular Expression (RegExp), objet

Permet uniquement la gestion des expressions régulières.

Notes

Le code suivant montre comment utiliser l'objet RegExp.

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée une expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit le champ d'application.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   'Itère la collection Matches.
      RetStr = RetStr & "Correspondance trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Propriétés

Global, propriété | IgnoreCase, propriété | Pattern, propriété

Méthodes

Execute, méthode | Replace, méthode | Test, méthode

Version requise

Version 5

Match, objet | Matches, collection


Opérateurs de VBScript

Description | Élément de langage
Effectue la somme de deux nombres. | + (addition), opérateur
Effectue la conjonction logique de deux expressions. | And, opérateur
Affecte une valeur à une variable ou à une propriété. | = (affectation), opérateur
Force la concaténation de chaînes de deux expressions. | & (concaténation), opérateur
Effectue la division entre deux nombres et renvoie un résultat à virgule flottante. | / (division), opérateur
Effectue une équivalence logique de deux expressions. | Eqv, opérateur
Élève un nombre à la puissance de l'exposant indiqué. | ^ (élévation à la puissance), opérateur
Effectue une implication logique entre deux expressions. | Imp, opérateur
Effectue la division de deux nombres et renvoie le résultat sous forme de nombre entier. | \ (division entière), opérateur
Compare deux variables de référence à un objet. | Is, opérateur
Effectue la division de deux nombres et renvoie seulement le reste. | Mod, opérateur
Multiplie deux nombres. | * (multiplication), opérateur
Indique la valeur négative d'une expression numérique. | - (négation), opérateur
Effectue la négation logique d'une expression. | Not, opérateur
Liste montrant l'ordre de priorité des différents opérateurs utilisés dans VBScript. | Priorité des opérateurs
Effectue l'opération logique de disjonction sur deux expressions. | Or, opérateur
Effectue la différence entre deux nombres ou indique la valeur négative d'une expression numérique. | - (soustraction), opérateur
Effectue l'opération logique d'exclusion sur deux expressions. | Xor, opérateur


Addition (+), opérateur

Éditions Visual Basic Scripting Référence du langage

+ (addition), opérateur

Effectue la somme de deux nombres.

result = expression1 + expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

S'il vous est possible d'utiliser l'opérateur + pour concaténer deux chaînes de caractères, il est néanmoins préférable d'utiliser l'opérateur & pour la concaténation afin d'éliminer toute ambiguïté et de fournir un code compréhensible en lui-même.

Si vous utilisez l'opérateur +, il vous sera parfois difficile de déterminer si une addition ou une concaténation de chaîne se produira.

Le sous-type sous-jacent des expressions détermine le comportement de l'opérateur + de la manière suivante :

Si | alors
Les deux expressions sont numériques | Add.
Les deux expressions sont des chaînes | Concatenate.
Une expression est numérique et l'autre est une chaîne | Add.

Si l'une des expressions ou les deux sont Null, result est Null. Si les deux expressions sont Empty, result est un sous-type Integer. Toutefois, si une seule des expressions est Empty, l'autre expression est renvoyée inchangée comme result.

Version requise

Version 1

Voir aussi

&, opérateur | -, opérateur | Opérateurs arithmétiques | Opérateurs de concaténation | Priorité des opérateurs | Liste des opérateurs


And, opérateur

Effectue la conjonction logique de deux expressions.

result = expression1 And expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

Si, et seulement si, les deux expressions produisent la valeur True, result est True. Si l'une ou l'autre produit la valeur False, result est False. Le tableau suivant illustre la manière dont result est déterminé :

Si expression1 est | et expression2 est | result est
True | True | True
True | False | False
True | Null | Null
False | True | False
False | False | False
False | Null | False
Null | True | Null
Null | False | False
Null | Null | Null

L'opérateur And effectue aussi une comparaison binaire des bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après la table de vérité suivante :

Si le bit dans expression1 est | et le bit dans expression2 est | result est
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Version requise

Version 1

Voir aussi

Opérateurs logiques | Not, opérateur | Priorité des opérateurs | Liste des opérateurs | Or, opérateur | Xor, opérateur


Opérateurs arithmétiques

^, opérateur

*, opérateur

/, opérateur

\, opérateur

Mod, opérateur

+, opérateur

-, opérateur

Opérateurs de concaténation


Opérateur d'affectation

=, opérateur


Opérateur d'affectation (=)

Éditions Visual Basic Scripting Référence du langage

= (affectation), opérateur

Affecte une valeur à une variable ou à une propriété.

variable = value

Arguments

variable

Toute variable ou propriété qui peut être définie.

value

Toute variable numérique ou chaîne, constante ou expression.

Notes

Le nom à gauche du signe égal peut représenter une variable scalaire simple ou un élément d'un tableau. Les propriétés à gauche du signe égal sont celles pour lesquelles l'écriture est autorisée au moment de l'exécution.

Version requise

Version 1

Voir aussi

Opérateurs de comparaison | Priorité des opérateurs | Liste des opérateurs | Set, instruction


Opérateurs de comparaison

Utilisés pour comparer des expressions.

result = expression1 comparisonoperator expression2

result = object1 Is object2

Arguments

result

Toute variable numérique.

expression

Toute expression.

comparisonoperator

Tout opérateur de comparaison.

object

Tout nom d'objet.

Notes

L'opérateur Is comporte une fonctionnalité de comparaison spécifique qui diffère des autres opérateurs énumérés dans le tableau suivant. Ce tableau contient une liste des opérateurs de comparaison et des conditions qui déterminent si la valeur de result est True, False ou Null :

Opérateur | Description | True si | False si | Null si
< | Inférieur à | expression1 < expression2 | expression1 >= expression2 | expression1 ou expression2 = Null
<= | Inférieur ou égal à | expression1 <= expression2 | expression1 > expression2 | expression1 ou expression2 = Null
> | Supérieur à | expression1 > expression2 | expression1 <= expression2 | expression1 ou expression2 = Null
>= | Supérieur ou égal à | expression1 >= expression2 | expression1 < expression2 | expression1 ou expression2 = Null
= | Égal à | expression1 = expression2 | expression1 <> expression2 | expression1 ou expression2 = Null
<> | Différent de | expression1 <> expression2 | expression1 = expression2 | expression1 ou expression2 = Null

Lorsque vous comparez deux expressions, il n'est pas toujours facile de déterminer si elles ont été comparées comme nombres ou comme chaînes.

Le tableau suivant décrit la manière dont les expressions sont comparées, ou ce qui résulte de la comparaison, en fonction du sous-type sous-jacent :

Si | alors
Les deux expressions sont numériques | Effectue une comparaison numérique.
Les deux expressions sont des chaînes | Effectue une comparaison de chaînes
Une expression est numérique et l'autre est une chaîne | L'expression numérique est inférieure à l'expression de chaîne.
Une expression est Empty et l'autre est numérique | Effectue une comparaison numérique, en utilisant 0 comme expression Empty.
Une expression est Empty et l'autre est une chaîne | Effectue une comparaison de chaîne, en utilisant une chaîne de longueur nulle ("") comme expression Empty.
Les deux expressions sont Empty | Les expressions sont égales.

Version requise

Version 1

Voir aussi

=, opérateur | Is, opérateur | Priorité des opérateurs | Liste des opérateurs


&, opérateur

Éditions Visual Basic Scripting Référence du langage

& (concaténation), opérateur

Force la concaténation de chaînes de deux expressions.

result = expression1 & expression2

Arguments

result

Toute variable.

expression1

Toute expression.

expression2

Toute expression.

Notes

Chaque fois qu'une expression n'est pas une chaîne, elle est convertie en un sous-type String. Si les deux expressions sont Null, result est aussi Null. Toutefois, si une seule expression est Null, cette expression est traitée comme une chaîne de longueur nulle lorsqu'elle est concaténée avec l'autre expression. Toute expression Empty est également traitée comme une chaîne de longueur nulle.

Version requise

Version 1

Voir aussi

Opérateurs de concaténation | Priorité des opérateurs | Liste des opérateurs


Opérateurs de concaténation

&, opérateur

+, opérateur


/, opérateur

Éditions Visual Basic Scripting Référence du langage

/ (division), opérateur

Effectue la division entre deux nombres et renvoie un résultat à virgule flottante.

result = number1/number2

Arguments

result

Toute variable numérique.

number1

Toute expression numérique.

number2

Toute expression numérique.

Notes

Si une ou les deux expressions sont des expressions Null, result est Null. Toute expression Empty est traitée comme 0.

Version requise

Version 1

Voir aussi

*, opérateur | \, opérateur | Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


Eqv, opérateur

Effectue une équivalence logique de deux expressions.

result = expression1 Eqv expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

Si l'une ou l'autre expression est Null, result est Null également. Si aucune des expressions n'est Null, result est déterminé en fonction du tableau suivant :

Si expression1 est | et expression2 est | result est
True | True | True
True | False | False
False | True | False
False | False | True

L'opérateur Eqv effectue une comparaison binaire des bits ayant une position identique dans deux expressions numériques, et définit le bit correspondant dans result d'après la table de vérité suivante :

Si le bit dans expression1 est | et si le bit dans expression2 est | result est
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Version requise

Version 1

Voir aussi

Imp, opérateur | Opérateurs logiques | Priorité des opérateurs | Liste des opérateurs


^, opérateur

Éditions Visual Basic Scripting Référence du langage

^ (élévation à la puissance), opérateur

Élève un nombre à la puissance de l'exposant indiqué.

result = number^exponent

Arguments

result

Toute variable numérique.

number

Toute expression numérique.

exponent

Toute expression numérique.

Notes

number ne peut être négatif que si exponent est une valeur en nombre entier. Quand plusieurs élévations à une puissance sont effectuées dans une même expression, l'opérateur ^ est évalué à mesure qu'il est rencontré, de gauche à droite.

Si number ou exponent sont des expressions Null, result est aussi Null.

Version requise

Version 1

Voir aussi

Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


Imp, opérateur

Effectue une implication logique entre deux expressions.

result = expression1 Imp expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

Le tableau suivant illustre la manière dont est déterminé l'élément result :

Si expression1 est | et expression2 est | Alors result vaut
True | True | True
True | False | False
True | Null | Null
False | True | True
False | False | True
False | Null | True
Null | True | True
Null | False | Null
Null | Null | Null

L'opérateur Imp effectue une comparaison binaire des bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après la table suivante :

Si le bit dans expression1 est | et le bit dans expression2 est | Alors result vaut
0 | 0 | 1
0 | 1 | 1
1 | 0 | 0
1 | 1 | 1

Version requise

Version 1

Voir aussi

Eqv, opérateur | Opérateurs logiques | Priorité des opérateurs | Liste des opérateurs


\, opérateur

Éditions Visual Basic Scripting Référence du langage

\ (division entière), opérateur

Effectue la division de deux nombres et renvoie le résultat sous forme de nombre entier.

result = number1\number2

Arguments

result

Toute variable numérique.

number1

Toute expression numérique.

number2

Toute expression numérique.

Notes

Avant d'effectuer la division, les expressions numériques sont arrondies en expression de sous-type Byte, Integer ou Long.

Si une expression est Null, result est également Null. Toute expression qui est Empty est traitée comme 0.

Version requise

Version 1

Voir aussi

*, opérateur | /, opérateur | Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


Is, opérateur

Compare deux variables de référence à un objet.

result = object1 Is object2

Arguments

result

Toute variable numérique.

object1

Tout nom d'objet.

object2

Tout nom d'objet.

Notes

Si object1 et object2 font tous deux référence au même objet, result est True ; si tel n'est pas le cas, result est False. Il existe plusieurs manières de faire en sorte que deux variables fassent référence au même objet.

Dans l'exemple suivant, A a été défini pour faire référence au même objet que B :

Set A = B

Dans l'exemple suivant, A et B font référence au même objet que C :

Set A = C
Set B = C

Version requise

Version 1

Voir aussi

Opérateurs de comparaison | Priorité des opérateurs | Liste des opérateurs


Opérateurs logiques

And, opérateur

Not, opérateur

Or, opérateur

Xor, opérateur


Mod, opérateur

Effectue la division de deux nombres et renvoie seulement le reste.

result = number1 Mod number2

Arguments

result

Toute variable numérique.

number1

Toute expression numérique.

number2

Toute expression numérique.

Notes

L'opérateur modulo, ou reste, divise number1 par number2 (en arrondissant en entiers les nombres en virgules flottantes) et ne renvoie que le reste comme result. Par exemple, dans l'expression suivante, A (qui est l'élément result) est égal à 5.

A = 19 Mod 6.7

Si toute expression est Null, result est aussi Null. Toute expression qui est Empty est traitée comme 0.

Version requise

Version 1

Voir aussi

Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


*, opérateur

Éditions Visual Basic Scripting Référence du langage

* (multiplication), opérateur

Multiplie deux nombres.

result = number1*number2

Arguments

result

Toute variable numérique.

number1

Toute expression numérique.

number2

Toute expression numérique.

Notes

Si une ou les deux expressions sont des expressions Null, result est Null. Si une expression est Empty, elle est traitée comme s'il s'agissait de 0.

Version requise

Version 1

Voir aussi

\, opérateur | Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


Not, opérateur

Effectue la négation logique d'une expression.

result = Not expression

Arguments

result

Toute variable numérique.

expression

Toute expression.

Notes

Le tableau suivant illustre la manière dont l'élément result est déterminé :

Si expression est | alors result vaut
True | False
False | True
Null | Null

De plus, l'opérateur Not inverse les valeurs de bit de toute variable et définit le bit correspondant dans result d'après la table suivante :

Bit dans expression | Bit dans result
0 | 1
1 | 0

Version requise

Version 1

Voir aussi

And, opérateur | Opérateurs logiques | Priorité des opérateurs | Liste des opérateurs | Or, opérateur | Xor, opérateur


Priorité des opérateurs

Quand plusieurs opérations ont lieu dans une expression, chaque partie est évaluée et résolue dans un ordre prédéterminé. Cet ordre est connu sous le nom de priorité des opérateurs. Des parenthèses peuvent être utilisées pour annuler l'ordre de priorité et forcer l'évaluation de certaines parties d'une expression avant d'autres. Les opérations entre parenthèses sont toujours effectuées avant celles qui ne le sont pas. A l'intérieur des parenthèses, cependant, la priorité normale des opérateurs est conservée.

Quand des expressions contiennent des opérateurs de plusieurs catégories, les opérateurs arithmétiques sont évalués d'abord, puis les opérateurs de comparaison et enfin les opérateurs logiques. Les opérateurs de comparaison ont tous la même priorité : ils sont évalués de gauche à droite dans l'ordre de leur apparition. Les opérateurs arithmétiques et logiques sont évalués dans l'ordre de priorité suivant :

Arithmétique | Comparaison | Logique
Négation (-) | Égalité (=) | Not
Élévation à une puissance (^) | Inégalité (<>) | And
Multiplication et division (*, /) | Inférieur à (<) | Or
Division entière (\) | Supérieur à (>) | Xor
Modulo arithmétique (Mod) | Inférieur à ou égal à (<=) | Eqv
Addition et soustraction (+, -) | Supérieur à ou égal à (>=) | Imp
Concaténation de chaînes (&) | Is | &

Lorsqu'une multiplication et une division apparaissent dans la même expression, chaque opération est effectuée en fonction de son ordre d'apparition, en partant de la gauche de l'expression. Il en de même, lorsqu'une addition et une soustraction apparaissent dans une expression.

L'opérateur de concaténation de chaîne (&) n'est pas un opérateur arithmétique. Il n'est pas prioritaire par rapport aux opérateurs arithmétiques mais est traité avant tous les opérateurs de comparaison. L'opérateur Is est un opérateur de comparaison entre des références à des objets. Il ne compare pas des objets ni leurs valeurs ; il contrôle uniquement si deux références se rapportent au même objet.

Version requise

Version 1

Is, opérateur | Liste des opérateurs


Liste des opérateurs

Opérateurs arithmétiques
Opérateurs utilisés pour effectuer des calculs mathématiques.

Opérateur d'affectation
Opérateur utilisé pour affecter une valeur à une propriété ou à une variable.

Opérateurs de comparaison
Opérateurs utilisés pour effectuer des comparaisons.

Opérateurs de concaténation
Opérateurs utilisés pour combiner des chaînes.

Opérateurs logiques
Opérateurs utilisés pour effectuer des opérations logiques.

Priorité des opérateurs


Or, opérateur

Effectue l'opération logique de disjonction sur deux expressions.

result = expression1 Or expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

Si une ou les deux expressions produisent la valeur True, result vaut True. Le tableau suivant illustre la manière dont result est déterminé :

Si expression1 est | et expression2 est | alors result vaut
True | True | True
True | False | True
True | Null | True
False | True | True
False | False | False
False | Null | Null
Null | True | True
Null | False | Null
Null | Null | Null

L'opérateur Or effectue aussi une comparaison binaire des bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après la table suivante :

Si le bit expression1 est | et le bit dans expression2 est | alors result vaut
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

Version requise

Version 1

Voir aussi

And, opérateur | Opérateurs logiques | Not, opérateur | Priorité des opérateurs | Liste des opérateurs | Xor, opérateur


-, opérateur

Éditions Visual Basic Scripting Référence du langage

- (soustraction), opérateur

Effectue la différence entre deux nombres ou indique la valeur négative d'une expression numérique.

Syntaxe 1

result = number1-nombre2

Syntaxe 2

-number

Arguments

result

Toute variable numérique.

number

Toute expression numérique.

number1

Toute expression numérique.

number2

Toute expression numérique.

Notes

Dans la syntaxe 1, l'opérateur - est l'opérateur de soustraction arithmétique utilisé pour trouver la différence entre deux nombres. Dans la syntaxe 2, l'opérateur - est utilisé comme opérateur de négation unaire pour indiquer la valeur négative d'une expression.

Si une ou les deux expressions sont des expressions Null, result est Null. Si une expression est Empty, elle est traitée comme s'il s'agissait de 0.

Version requise

Version 1

Voir aussi

+, opérateur | Opérateurs arithmétiques | Priorité des opérateurs | Liste des opérateurs


Xor, opérateur

Effectue l'opération logique d'exclusion sur deux expressions.

result = expression1 Xor expression2

Arguments

result

Toute variable numérique.

expression1

Toute expression.

expression2

Toute expression.

Notes

Si une, et une seule, de ces expressions produit la valeur True, result vaut True. Toutefois, si l'une ou l'autre expression est Null, result vaut également Null. Si aucune expression n'a la valeur Null, l'élément result est déterminé conformément au tableau suivant :

Si expression1 est | et expression2 est | alors result vaut
True | True | False
True | False | True
False | True | True
False | False | False

L'opérateur Xor effectue aussi une comparaison binaire des bits de position identique dans deux expressions numériques et définit le bit correspondant dans result d'après la table suivante :

Si le bit dans expression1 est | et le bit dans expression2 est | alors result vaut
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Version requise

Version 1

Voir aussi

And, opérateur | Opérateurs logiques | Not, opérateur | Priorité des opérateurs | Liste des opérateurs | Or, opérateur


Propriétés de VBScript

Description | Élément de langage
Renvoie ou définit une chaîne descriptive associée à une erreur. | Description, propriété
Indique la position dans une chaîne de recherche où une correspondance a été trouvée. | FirstIndex, propriété
Définit ou renvoie une valeur booléenne. | Global, propriété
Définit ou renvoie un identificateur de contexte pour une rubrique dans un fichier d'aide. | HelpContext, propriété
Définit ou renvoie le chemin complet d'un fichier d'aide. | HelpFile, propriété
Définit ou renvoie une valeur booléenne indiquant si les critères de recherche font la distinction entre les minuscules et les majuscules. | IgnoreCase, propriété
Renvoie la longueur d'une correspondance trouvée dans une chaîne de recherche. | Length, propriété
Renvoie ou définit une valeur numérique spécifiant une erreur. | Number, propriété
Définit ou renvoie le modèle d'expression régulière recherché. | Pattern, propriété
Renvoie ou définit le nom de l'objet ou de l'application qui est à l'origine de l'erreur. | Source, propriété
Renvoie la valeur ou le texte d'une correspondance trouvée dans une chaîne de recherche. | Value, propriété


Description, propriété

Renvoie ou définit une chaîne descriptive associée à une erreur.

object.Description [= stringexpression]

Arguments

object

Toujours l'objet Err.

stringexpression

Expression de chaîne contenant une description de l'erreur.

Notes

La propriété Description est une courte description de l'erreur. Utilisez cette propriété pour avertir l'utilisateur d'une erreur que vous ne pouvez pas ou ne voulez pas gérer. Lors de la génération d'une erreur définie par l'utilisateur, affectez une courte description de votre erreur à cette propriété. Si la propriété Description n'est pas remplie et que la valeur de Number correspond à une erreur d'exécution VBScript, la chaîne renvoyée par la fonction Error est placée dans la propriété Description lorsque l'erreur est générée.

On Error Resume Next
Err.Raise 6   ' Génère une erreur de dépassement.
MsgBox ("Erreur N° " & CStr(Err.Number) & " " & Err.Description)
Err.Clear   ' Efface l'erreur.

Version requise

Version 1

Voir aussi

Err, objet | HelpContext, propriété | HelpFile, propriété | Number, propriété | Source, propriété

Application : Err, objet


FirstIndex, propriété

Indique la position dans une chaîne de recherche où une correspondance a été trouvée.

object.FirstIndex

L'argument object représente tout objet Match.

Notes

La propriété FirstIndex utilise un décalage qui commence à zéro à partir du début de la chaîne de recherche. En d'autres termes, la première lettre de la chaîne est identifiée par le caractère zéro (0). Le code suivant montre comment utiliser la propriété FirstIndex.

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée l'expression littérale.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit le champ d'application.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance " & I & " trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est "'
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

Length, propriété | Value, propriété

Application : Match, objet


Global, propriété

Définit ou renvoie une valeur booléenne indiquant si toutes les occurrences d'une chaîne de recherche ou seulement la première chaîne doivent satisfaire aux critères.

object.Global [= True | False ]

L'argument object représente tout objet RegExp. La valeur de la propriété Global est True si la recherche s'applique à la chaîne entière et False dans le cas contraire. La valeur False est définie par défaut.

Notes

Le code suivant montre comment utiliser la propriété Global (modifiez la valeur affectée à la propriété Global pour étudier son action) :

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée une expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit une application globale.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

IgnoreCase, propriété | Pattern, propriété

Application : RegExp, objet


HelpContext, propriété

Définit ou renvoie un identificateur de contexte pour une rubrique dans un fichier d'aide.

object.HelpContext [= contextID]

Arguments

object

Correspond toujours à l'objet Err.

contextID

Facultatif. Identificateur valide pour une rubrique du fichier d'aide.

Notes

Si un fichier d'aide est spécifié dans la propriété HelpFile, la propriété HelpContext est employée pour afficher automatiquement la rubrique d'aide identifiée. Si les propriétés HelpFile et HelpContext sont vides, la valeur de la propriété Number est vérifiée et, si elle correspond à une valeur d'erreur d'exécution VBScript, l'identificateur de contexte d'aide VBScript pour l'erreur est employé. Si la valeur de la propriété Number ne correspond pas à une erreur VBScript, l'écran de sommaire du fichier d'aide de VBScript s'affiche.

L'exemple ci-dessous illustre l'utilisation de la propriété HelpContext :

On Error Resume Next
Dim Msg
Err.Clear
Err.Raise 6   ' Génère une erreur de dépassement.
Err.Helpfile = "yourHelp.hlp"
Err.HelpContext = yourContextID
If Err.Number <> 0 Then
   Msg = "Appuyez sur F1 ou Aide pour afficher la rubrique " & Err.Helpfile & " pour" & _
   " le contexte d'aide suivant: " & Err.HelpContext
   MsgBox Msg, , "erreur: " & Err.Description, Err.Helpfile, Err.HelpContext
End If

Version requise

Version 2

Voir aussi

Description, propriété | HelpFile, propriété | Number, propriété | Source, propriété

Application : Err, objet


HelpFile, propriété

Définit ou renvoie le chemin complet d'un fichier d'aide.

object.HelpFile [= contextID]

Arguments

object

Correspond toujours à l'objet Err.

contextID

Facultatif. Chemin complet du fichier d'aide.

Notes

Si un fichier d'aide est spécifié dans la propriété HelpFile, il est automatiquement appelé lorsque l'utilisateur clique sur le bouton Aide (ou appuie sur la touche F1) dans la boîte de dialogue de message d'erreur. Si la propriété HelpContext contient un identificateur de contexte valide pour le fichier spécifié, cette rubrique est automatiquement affichée. Si aucune propriété HelpFile n'est spécifiée, le fichier d'aide VBScript s'affiche.

On Error Resume Next
Dim Msg
Err.Clear
Err.Raise 6   ' Génère une erreur de dépassement.
Err.Helpfile = "yourHelp.hlp"
Err.HelpContext = yourContextID
If Err.Number <> 0 Then
   Msg = "Appuyez sur F1 ou Aide pour afficher la rubrique " & Err.Helpfile & " pour" & _
   " le contexte d'aide suivant: " & Err.HelpContext
   MsgBox Msg, , "erreur: " & Err.Description, Err.Helpfile, Err.HelpContext
End If

Version requise

Version 2

Voir aussi

Description, propriété | HelpContext, propriété | Number, propriété | Source, propriété

Application : Err, objet


IgnoreCase, propriété

Définit ou renvoie une valeur booléenne indiquant si les critères de recherche distinguent les minuscules et les majuscules.

object.IgnoreCase [= True | False ]

L'argument object représente toujours un objet RegExp. La valeur de la propriété IgnoreCase est False si la recherche respecte la casse. Elle prend la valeur True dans le cas contraire. La valeur par défaut est False.

Notes

Le code suivant montre comment utiliser la propriété IgnoreCase (modifiez la valeur affectée à la propriété IgnoreCase pour étudier son action) :

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée une expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit une application globale.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

Global, propriété | Pattern, propriété

Application : RegExp, objet


Length, propriété

Renvoie la longueur d'une correspondance trouvée dans une chaîne de recherche.

object.Length

L'argument object représente toujours un objet Match.

Notes

Le code suivant montre comment utiliser la propriété Length :

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée l'expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit le champ d'application.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance " & I & " trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La longueur de correspondance est "
      RetStr = RetStr & Match.Length
      RetStr = RetStr & " caractères." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 5

Voir aussi

FirstIndex, propriété | Value, propriété

Application : Match, objet


Number, propriété

Renvoie ou définit une valeur numérique spécifiant une erreur. Number est la propriété par défaut de l'objet Err.

object.Number [= errornumber]

Arguments

object

Toujours l'objet Err.

errornumber

Entier représentant un numéro d'erreur VBScript ou une valeur d'erreur SCODE.

Notes

Lors du renvoi d'une erreur définie par l'utilisateur à partir d'un objet Automation, définissez Err.Number en ajoutant le numéro que vous avez choisi comme code d'erreur à la constante vbObjectError.

Le code suivant illustre l'emploi de la propriété Number.

On Error Resume Next
Err.Raise vbObjectError + 1, "UnObject"    ' Génère objet erreur N°1.
MsgBox ("Erreur N°" & CStr(Err.Number) & " " & Err.Description)
Err.Clear   ' Efface l'erreur.

Version requise

Version 1

Voir aussi

Description, propriété | HelpContext, propriété | HelpFile, propriété | Err, objet | Source, propriété

Application : Err, objet


Pattern, propriété

Définit ou renvoie les critères de recherche de l'expression régulière.

object.Pattern [= "searchstring"]

Arguments

object

Requis. Il s'agit toujours d'une variable objet RegExp.

searchstring

Facultatif. Expression de chaîne régulière à laquelle s'applique la recherche. Elle inclut tout caractère de la chaîne régulière défini dans le tableau figurant dans la section Valeurs.

Valeurs

Les conventions d'écriture utilisées pour les expressions régulières autorisent les caractères spéciaux et les séquences de caractères. Le tableau suivant décrit et donne un exemple des caractères et des séquences utilisées.

Caractère | Description
\ | Marque le caractère suivant comme caractère spécial ou littéral. Par exemple, "n" correspond au caractère "n". "\n" correspond à un caractère de nouvelle ligne. La séquence "\\" correspond à "\", tandis que "\(" correspond à "(".
^ | Correspond au début de la saisie.
$ | Correspond à la fin de la saisie.
* | Correspond au caractère précédent zéro fois ou plusieurs fois. Ainsi, "zo*" correspond à "z" ou à "zoo".
+ | Correspond au caractère précédent une ou plusieurs fois. Ainsi, "zo+" correspond à "zoo", mais pas à "z".
? | Correspond au caractère précédent zéro ou une fois. Par exemple, "a?ve?" correspond à "ve" dans "lever".
. | Correspond à tout caractère unique, sauf le caractère de nouvelle ligne.
(modèle) | Recherche le modèle et mémorise la correspondance. La sous-chaîne correspondante peut être extraite de la collection Matches obtenue, à l'aide d'Item [0]...[n]. Pour trouver des correspondances avec des caractères entre parenthèses ( ), utilisez "\(" ou "\)".
x|y | Correspond soit à x soit à y. Par exemple, "z|foot" correspond à "z" ou à "foot". "(z|f)oo" correspond à "zoo" ou à "foot".
{n} | n est un nombre entier non négatif. Correspond exactement à n fois le caractère. Par exemple, "o{2}" ne correspond pas à "o" dans "Bob," mais aux deux premiers "o" dans "fooooot".
{n,} | n est un entier non négatif. Correspond à au moins n fois le caractère. Par exemple, "o{2,}" ne correspond pas à "o" dans "Bob", mais à tous les "o" dans "fooooot". "o{1,}" équivaut à "o+" et "o{0,}" équivaut à "o*".
{n,m} | m et n sont des entiers non négatifs. Correspond à au moins n et à au plus m fois le caractère. Par exemple, "o{1,3}" correspond aux trois premiers "o" dans "foooooot" et "o{0,1}" équivaut à "o?".
[xyz] | Jeu de caractères. Correspond à l'un des caractères indiqués. Par exemple, "[abc]" correspond à "a" dans "plat".
[^xyz] | Jeu de caractères négatif. Correspond à tout caractère non indiqué. Par exemple, "[^abc]" correspond à "p" dans "plat".
[a-z] | Plage de caractères. Correspond à tout caractère dans la série spécifiée. Par exemple, "[a-z]" correspond à tout caractère alphabétique minuscule compris entre "a" et "z".
[^m-z] | Plage de caractères négative. Correspond à tout caractère ne se trouvant pas dans la série spécifiée. Par exemple, "[^m-z]" correspond à tout caractère ne se trouvant pas entre "m" et "z".
\b | Correspond à une limite représentant un mot, autrement dit, à la position entre un mot et un espace. Par exemple, "er\b" correspond à "er" dans "lever", mais pas à "er" dans "verbe".
\B | Correspond à une limite ne représentant pas un mot. "en*t\B" correspond à "ent" dans "bien entendu".
\d | Correspond à un caractère représentant un chiffre. Équivaut à [0-9].
\D | Correspond à un caractère ne représentant pas un chiffre. Équivaut à [^0-9].
\f | Correspond à un caractère de saut de page.
\n | Correspond à un caractère de nouvelle ligne.
\r | Correspond à un caractère de retour chariot.
\s | Correspond à tout espace blanc, y compris l'espace, la tabulation, le saut de page, etc. Équivaut à "[ \f\n\r\t\v]".
\S | Correspond à tout caractère d'espace non blanc. Équivaut à "[^ \f\n\r\t\v]".
\t | Correspond à un caractère de tabulation.
\v | Correspond à un caractère de tabulation verticale.
\w | Correspond à tout caractère représentant un mot et incluant un trait de soulignement. Équivaut à "[A-Za-z0-9_]".
\W | Correspond à tout caractère ne représentant pas un mot. Équivaut à "[^A-Za-z0-9_]".
\num | Correspond à num, où num est un entier positif. Fait référence aux correspondances mémorisées. Par exemple, "(.)\1" correspond à deux caractères identiques consécutifs.
\n | Correspond à n, où n est une valeur d'échappement octale. Les valeurs d'échappement octales doivent comprendre 1, 2 ou 3 chiffres. Par exemple, "\11" et "\011" correspondent tous les deux à un caractère de tabulation. "\0011" équivaut à "\001" & "1". Les valeurs d'échappement octales ne doivent pas excéder 256. Si c'était le cas, seuls les deux premiers chiffres seraient pris en compte dans l'expression. Permet d'utiliser les codes ASCII dans des expressions régulières.
\xn | Correspond à n, où n est une valeur d'échappement hexadécimale. Les valeurs d'échappement hexadécimales doivent comprendre deux chiffres obligatoirement. Par exemple, "\x41" correspond à "A". "\x041" équivaut à "\x04" & "1". Permet d'utiliser les codes ASCII dans des expressions régulières.

Notes

Le code suivant montre comment utiliser la propriété Pattern.

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée une expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit une application globale.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 2

Voir aussi

Global, propriété | IgnoreCase, propriété

Application : RegExp, objet


Source, propriété

Renvoie ou définit le nom de l'objet ou de l'application qui est à l'origine de l'erreur.

object.Source [= stringexpression]

Arguments

object

Toujours l'objet Err.

stringexpression

Expression de chaîne représentant l'application qui a généré l'erreur.

Notes

La propriété Source spécifie une expression de chaîne qui correspond, en général, au nom de classe ou à l'identificateur de ressource de l'objet qui a provoqué l'erreur. Utilisez la propriété Source pour fournir à vos utilisateurs les informations nécessaires lorsque votre code est incapable de gérer une erreur générée dans un objet en cours d'accès. Par exemple, si vous accédez à Microsoft Excel et qu'il génère une erreur Division par zéro, il affecte à Err.Number le code de cette erreur et à la propriété Source la chaîne "Excel.Application". Notez que si l'erreur est générée dans un autre objet appelé par Microsoft Excel, Excel intercepte l'erreur et affecte à Err.Number son propre code correspondant à Division par zéro. Il conserve, toutefois, l'autre objet Err (y compris la description de la propriété Source) tel que défini par l'objet ayant généré l'erreur.

La propriété Source contient toujours le nom de l'objet qui est à l'origine de l'erreur — votre code peut essayer de gérer l'erreur d'après la documentation d'erreur de l'objet auquel vous avez accédé. En cas d'échec de votre gestionnaire d'erreurs, vous pouvez utiliser les informations de l'objet Err pour décrire l'erreur à votre utilisateur, en utilisant la propriété Source et l'autre objet Err pour indiquer à l'utilisateur l'objet à l'origine de l'erreur, sa description de l'erreur, etc.

En cas de génération d'une erreur à partir du code, la propriété Source est l'identificateur de ressource de votre application.

Le code suivant illustre l'utilisation de la propriété Source.

On Error Resume Next
Err.Raise 6   ' Génère une erreur de dépassement.
MsgBox ("Erreur N° " & CStr(Err.Number) & " " & Err.Description & Err.Source)
Err.Clear   ' Efface l'erreur.

Version requise

Version 1

Voir aussi

Description, propriété | Err, objet | HelpContext, propriété | HelpFile, propriété | Number, propriété | On Error, instruction

Application : Err, objet


Value, propriété

Renvoie la valeur ou le texte d'une correspondance trouvée dans une chaîne de recherche.

object.Value

L'argument object représente toujours un objet Match.

Notes

Le code suivant montre comment utiliser la propriété Value.

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' Crée la variable.
   Set regEx = New RegExp   ' Crée l'expression régulière.
   regEx.Pattern = patrn   ' Définit les critères.
   regEx.IgnoreCase = True   ' Ignore la casse.
   regEx.Global = True   ' Définit le champ d'application.
   Set Matches = regEx.Execute(strng)   ' Lance la recherche.
   For Each Match in Matches   ' Itère la collection Matches.
      RetStr = RetStr & "Correspondance " & I & " trouvée à la position "
      RetStr = RetStr & Match.FirstIndex & ". La valeur de la correspondance est "'
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("est.", "IS1 is2 IS3 is4"))

Version requise

Version 1

Voir aussi

FirstIndex, propriété | Length, propriété

Application : Match, objet


Instructions de VBScript

Description | Élément de langage
Transfère le contrôle à une procédure Sub ou Function. | Call, instruction
Déclare le nom d'une classe. | Class, instruction
Déclare des constantes destinées à remplacer des valeurs littérales. | Const, instruction
Déclare des variables et alloue l'espace de stockage. | Dim, instruction
Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True. | Do...Loop, instruction
Réinitialise les éléments des tableaux de taille fixe et libère l'espace de stockage des tableaux dynamiques. | Erase, instruction
Exécute une ou plusieurs instructions spécifiées. | Execute, instruction
Exécute une ou plusieurs instructions spécifiées dans l'espace de nom global d'un script. | ExecuteGlobal, instruction
Quitte un bloc de code Do...Loop, For...Next, Function ou Sub. | Exit, instruction
Répète un groupe d'instructions un nombre spécifié de fois. | For...Next, instruction
Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection. | For Each...Next, instruction
Déclare le nom, les arguments et le code qui forment le corps d'une procédure Function. | Function, instruction
Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression. | If...Then...Else, instruction
Active la gestion des erreurs. | On Error, instruction
Force la déclaration explicite de toutes les variables dans un script. | Option Explicit, instruction
Déclare les variables privées et alloue l'espace de stockage. | Private, instruction
Déclare le nom, les arguments et le code formant une procédure Property qui obtient (renvoie) la valeur d'une propriété. | Property Get, instruction
Déclare le nom, les arguments et le code formant une procédure Property qui affecte la valeur d'une propriété. | Property Let, instruction
Déclare le nom, les arguments et le code formant une procédure Property qui définit la référence à un objet. | Property Set, instruction
Déclare des variables publiques et affecte l'espace de stockage. | Public, instruction
Initialise le générateur de nombres aléatoires. | Randomize, instruction
Déclare les variables de tableau dynamique et attribue ou réattribue l'espace de stockage au niveau de la procédure. | ReDim, instruction
Inclut des remarques explicatives dans un programme. | Rem, instruction
Exécute un groupe d'instructions parmi plusieurs, en fonction de la valeur d'une expression. | Select Case, instruction
Affecte une référence d'objet à une variable ou à une propriété. | Set, instruction
Déclare le nom, les arguments et le code qui forment le corps d'une procédure Sub. | Sub, instruction
Exécute une série d'instructions tant qu'une condition donnée est True. | While...Wend, instruction
Exécute une série d'instructions sur un objet unique. | With, instruction


Call, instruction

Transfère le contrôle à une procédure Sub ou Function.

[Call] name [argumentlist]

Arguments

Call

Mot clé facultatif ; si spécifié, vous devez mettre argumentlist entre parenthèses. Par exemple :

Call MyProc(0)

name

Nom de la procédure d'appel.

argumentlist

Liste, délimitée par des virgules, de variables, de tableaux ou d'expressions transmises à la procédure.

Notes

Vous n'êtes pas obligé d'utiliser le mot clé Call quand vous appelez une procédure. Toutefois, si vous utilisez le mot clé Call pour appeler une procédure exigeant des arguments, argumentlist doit être placé entre parenthèses. Si vous omettez le mot clé Call, vous devez aussi omettre les parenthèses délimitant argumentlist. Si vous utilisez la syntaxe Call pour appeler toute fonction intrinsèque ou définie par l'utilisateur, la valeur renvoyée de la fonction est ignorée.

Call MyFunction("Bonjour")
Function MyFunction(text)
   MsgBox text
End Function

Version requise

Version 1


Class, instruction

Déclare le nom d'une classe, ainsi que la définition des variables, des propriétés et des méthodes qui s'appliquent à la classe.

Class name
    statements
End Class

Arguments

name

Requis. Nom de la classe ; respecte les conventions standard d'affectation de noms de variable.

statements

Requis. Une ou plusieurs instructions définissant les variables, les propriétés et les méthodes de la classe.

Notes

Dans un bloc Class, les membres sont déclarés Private ou Public par l'intermédiaire des instructions de déclarations appropriées. Tout élément déclaré comme Private est visible seulement dans le bloc Class. En revanche, tout élément déclaré comme Public est visible dans le bloc Class et également par le code à l'extérieur du bloc Class. Tout élément qui n'est pas déclaré de façon explicite, c'est-à-dire dont le statut est Private ou Public, prend le statut Public par défaut. Les procédures (Sub ou Function) déclarées Public dans le bloc de la classe deviennent des méthodes de la classe. Les variables Public sont des propriétés de la classe, tout comme les propriétés explicitement déclarées comme utilisant les propriétés Property Get, Property Let et Property Set. Les propriétés et les méthodes par défaut de la classe sont indiquées par le mot clé Default. Reportez-vous aux rubriques de chaque instruction de déclaration pour plus d'informations sur le fonctionnement du mot clé.

Version requise

Version 5

Voir aussi

Dim, instruction | Function, instruction | Private, instruction | Property Get, instruction | Property Let, instruction | Property Set, instruction | Public, instruction | Set, instruction | Sub, instruction


Const, instruction

Déclare des constantes destinées à remplacer des valeurs littérales.

[Public | Private] Const constname = expression

Arguments

Public

Facultatif. Mot clé utilisé au niveau du script pour déclarer des constantes accessibles dans toutes les procédures de tous les scripts. Interdit dans les procédures.

Private

Facultatif. Mot clé utilisé au niveau script pour déclarer des constantes accessibles uniquement dans le script où la déclaration est effectuée. Interdit dans les procédures.

constname

Nom de la constante ; respecte les conventions standard d'attribution de nom de variable.

expression

Littéral ou autre constante, ou toute combinaison incluant tous les opérateurs arithmétiques ou logiques, à l'exception de Is.

Notes

Les constantes sont publiques par défaut. À l'intérieur des procédures, elles sont toujours privées et leur visibilité ne peut pas être modifiée. Dans un script, la visibilité par défaut d'une constante de niveau script peut être modifiée à l'aide du mot clé Private.

Pour combiner plusieurs déclarations de constante sur la même ligne, séparez chaque affectation de constante par une virgule. Lorsque des déclarations de constante sont combinées de cette manière, l'emploi éventuel d'un mot clé Public ou Private s'applique à toutes ces déclarations.

Vous ne pouvez pas utiliser des variables, des fonctions définies par l'utilisateur ou des fonctions VBScript intrinsèques (telles que Chr) dans des déclarations de constante. Par définition, elles ne peuvent pas être des constantes. Vous ne pouvez pas non plus créer de constantes à partir d'une expression impliquant un opérateur, c'est-à-dire que seules les constantes simples sont autorisées. Les constantes déclarées dans une procédure Sub ou Function sont locales à cette procédure. Une constante déclarée à l'extérieur d'une procédure est définie pour l'ensemble du script dans lequel elle est déclarée. Vous pouvez utiliser des constantes à tout endroit où vous pouvez employer une expression. Le code suivant illustre l'utilisation de l'instruction Const :

Const MyVar = 459   ' Les constantes sont publiques par défaut.
Private Const MyString = "AIDE"   ' Déclare les constantes privées.
Const MyStr = "Bonjour", MyNumber = 3.4567   ' Déclare plusieurs constantes sur la même ligne.

Remarque Les constantes peuvent documenter automatiquement vos scripts et en simplifier la modification. Contrairement aux variables, les constantes ne peuvent pas être modifiées accidentellement pendant l'exécution de votre script.

Version requise

Version 5

Voir aussi

Dim, instruction | Function, instruction | Private, instruction | Public, instruction | Sub, instruction


Dim, instruction

Déclare des variables et alloue l'espace de stockage.

Dim varname[([subscripts])][, varname[([subscripts])]] . . .

Arguments

varname

Nom de la variable ; respecte les conventions standard d'affectation de nom à des variables.

subscripts

Dimensions d'une variable tableau ; jusqu'à 60 dimensions multiples peuvent être déclarées. L'argument subscripts utilise la syntaxe suivante :

upperbound [,upperbound ] . . .

La limite inférieure d'un tableau est toujours zéro.

Notes

Les variables déclarées avec Dim au niveau du script sont disponibles pour toutes les procédures contenues dans le script. Les variables de niveau procédure, ne sont disponibles que dans la procédure.

Vous pouvez aussi utiliser l'instruction Dim avec des parenthèses vides pour déclarer un tableau dynamique. Une fois cette déclaration effectuée, utilisez l'instruction ReDim à l'intérieur d'une procédure pour définir le nombre de dimensions et d'éléments contenus dans le tableau. Si vous essayez de déclarer de nouveau une dimension pour une variable tableau dont la taille a été spécifiée explicitement dans une instruction Dim, une erreur se produit.

Remarque Si vous utilisez l'instruction Dim à l'intérieur d'une procédure, il est couramment accepté, dans la pratique générale de programmation, de placer l'instruction Dim au commencement de la procédure.

L'exemple ci-dessous illustre l'utilisation de l'instruction Dim :

Dim Names(9)       ' Déclare un tableau à 10 éléments.
Dim Names()        ' Déclare un tableau dynamique.
Dim MyVar, MyNum   ' Déclare deux variables.

Version requise

Version 1

Voir aussi

Private, instruction | Public, instruction | ReDim, instruction | Set, instruction


Do...Loop, instruction

Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

Vous pouvez aussi utiliser la syntaxe suivante :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Arguments

condition

Expression numérique ou expression de chaîne qui est True ou False. Si condition est Null, l'élément condition est traité comme False.

statements

Une ou plusieurs instructions qui sont répétées tant que l'élément condition est True, ou jusqu'à ce qu'il le devienne.

Notes

L'instruction Exit Do ne peut être utilisée que dans une structure de contrôle Do...Loop afin de proposer une solution alternative pour quitter une instruction Do...Loop. Vous pouvez placer autant d'instructions Exit Do que vous voulez n'importe où dans l'instruction Do...Loop. Souvent utilisée avec l'évaluation d'une condition (par exemple, l'instruction If...Then), l'instruction Exit Do transfère le contrôle à l'instruction qui suit immédiatement Loop.

Quand elle est utilisée à l'intérieur d'instructions Do...Loop imbriquées, l'instruction Exit Do transfère le contrôle à la boucle située au niveau d'imbrication supérieur à celui de la boucle dans laquelle elle se déroule.

L'exemple ci-dessous illustre l'utilisation de l'instruction Do...Loop :

Do Until DefResp = vbNo
   MyNum = Int (6 * Rnd + 1)   ' Génère un entier aléatoire entre 1 et 6.
   DefResp = MsgBox (MyNum & " Voulez-vous un autre nombre?", vbYesNo)
Loop

Dim Check, Counter
Check = True: Counter = 0   ' Initialise les variables.
Do               ' Boucle externe.
   Do While Counter < 20      ' Boucle interne.
      Counter = Counter + 1   ' Incrémente le compteur.
      If Counter = 10 Then    ' Si la condition vaut True...
         Check = False        ' Affecte la valeur False à l'indicateur.
         Exit Do              ' Quitte la boucle interne.
      End If
   Loop
Loop Until Check = False      ' Quitte immédiatement la boucle externe.

Version requise

Version 1

Voir aussi

Exit, instruction | For...Next, instruction | While...Wend, instruction


Erase, instruction

Réinitialise les éléments des tableaux de taille fixe et libère l'espace de stockage des tableaux dynamiques.

Erase array

L'argument array est le nom de la variable tableau à effacer.

Notes

Il est important de savoir s'il s'agit d'un tableau de taille fixe (ordinaire) ou dynamique, car le comportement de l'instruction Erase varie selon le type de tableau. L'instruction Erase ne récupère pas de mémoire pour les tableaux de taille fixe. L'instruction Erase définit les éléments d'un tableau de taille fixe de la façon suivante :

Type de tableau | Effet de l'instruction Erase sur les éléments d'un tableau de taille fixe
Tableau numérique fixe | Définit chaque élément avec la valeur zéro.
Tableau de chaînes fixe | Définit chaque élément avec une chaîne de longueur nulle ("").
Tableau d'objets | Définit chaque élément avec la valeur spéciale Nothing.

L'instruction Erase libère la mémoire utilisée par les tableaux dynamiques. Avant que votre programme puisse à nouveau faire référence au tableau dynamique, vous devez déclarer de nouveau les dimensions des variables du tableau en utilisant une instruction ReDim.

L'exemple ci-dessous illustre l'utilisation de l'instruction Erase.

Dim NumArray(9)
Dim DynamicArray()
ReDim DynamicArray(9)   ' Allouer l'espace de stockage.
Erase NumArray   ' Chaque élément est réinitialisé.
Erase DynamicArray   ' Libérer la mémoire utilisée par le tableau

Version requise

Version 1

Dim, instruction | Nothing | ReDim, instruction


Execute, instruction

Exécute une ou plusieurs instructions spécifiées.

Execute statement

L'argument statement représente toute expression de chaîne contenant une ou plusieurs instructions à exécuter. Pour séparer des instructions multiples dans l'argument statement, utilisez le symbole deux-points (:) ou insérez des sauts de lignes.

Notes

Dans VBScript, l'expression x = y peut être interprétée de deux manières différentes. La première est de considérer qu'il s'agit d'une instruction permettant d'affecter la valeur y à x. La deuxième implique que l'expression recherche si x et y ont la même valeur. Si c'est le cas, result prend la valeur True. Dans le cas contraire, result prend la valeur False. L'instruction Execute utilise toujours la première interprétation, alors que l'instruction Eval utilise toujours la deuxième.

Remarque Dans Microsoft® JScript™, il n'y a pas de confusion possible entre l'affectation et la comparaison car l'opérateur d'affectation (=) est différent de l'opérateur de comparaison (==).

Le contexte dans lequel l'instruction Execute est appelée détermine les objets et les variables disponibles pour le code en cours d'exécution. Les objets et les variables dans la portée sont accessibles par le code en cours dans une instruction Execute. Cependant, rappelez-vous que si vous exécutez un code qui crée une procédure, cette procédure n'héritera pas la portée de la procédure dans laquelle elle a été produite.

Comme toute procédure, la portée de la nouvelle procédure est globale ; elle hérite ainsi de tous les éléments de portée globale. En revanche, son contexte ne fait pas partie de la portée globale, elle peut donc être exécutée seulement dans le contexte de la procédure où l'instruction Execute est apparue. Cependant, si cette instruction Execute est appelée à l'extérieur d'une procédure (c'est-à-dire, dans le cadre de la portée générale), la procédure hérite de tout ce qui se trouve dans la portée globale, mais elle peut également être appelée de toute part puisque le contexte est global. L'exemple suivant illustre ce comportement :

Dim X   ' Déclarer X globalement.
X = "Global"   ' Affecte une valeur à la valeur X globale.
Sub Proc1   ' Déclare la procédure.
   Dim X   ' Déclare X localement.
   X = "Local"   ' Affecte une valeur à la valeur X locale.
            ' L'instruction Execute créé ici une
            ' procédure qui, lorsqu'elle est appelée, imprime X.
            ' Elle imprime la valeur X globale car Proc2
            ' hérite des éléments de portée globale.
   Execute "Sub Proc2: Print X: End Sub"
   Print Eval("X")   ' Imprime la valeur X locale.
   Proc2   ' Appelle Proc2 dans la portée de Proc1.
End Sub
Proc2   ' Cette ligne provoque une erreur car
        ' Proc2 n'est pas disponible hors de Proc1.
Proc1   ' Appelle Proc1.
   Execute "Sub Proc2: Print X: End Sub"
Proc2   ' Cet appel réussit car Proc2
        ' est maintenant disponible globalement.

L'exemple suivant montre comme l'instruction Execute peut être réécrite de sorte qu'il n'est pas nécessaire de placer la procédure entière entre guillemets :

S = "Sub Proc2" & vbCrLf
S = S & "   Print X" & vbCrLf
S = S & "End Sub"
Execute S

Version requise

Version 1

Eval, fonction | ExecuteGlobal, instruction


ExecuteGlobal, instruction

Exécute une ou plusieurs instructions spécifiées dans l'espace de nom global d'un script.

ExecuteGlobal statement

L'argument statement est une expression de chaîne contenant une ou plusieurs instructions à exécuter. Insérez plusieurs instructions dans l'argument statement, en les séparant par deux points (:) ou des sauts de lignes intégrés.

Notes

Dans VBScript, x = y peut être interprété de deux manières. La première correspond à une instruction d'affectation, où la valeur de y est affectée à x. La seconde interprétation est une expression qui teste si x et y ont la même valeur. Si c'est le cas, result prend la valeur True ; dans le cas contraire, result prend la valeur False. L'instruction ExecuteGlobal utilise toujours la première interprétation, tandis que la méthode Eval adopte la deuxième.

Remarque Dans Microsoft® JScript™, il n'y a pas de risque de confondre l'affectation et la comparaison, car l'opérateur d'affectation (=) est différent de l'opérateur de comparaison.

Toutes les instructions utilisées avec ExecuteGlobal sont exécutées dans le nom d'espace global du script. Ceci permet au code d'être ajouté au programme afin que toutes les procédures puissent y accéder. Par exemple, une instruction Class de VBScript peut être définie au moment de l'exécution et les fonctions peuvent alors créer de nouvelles instances de la classe.

L'ajout de procédures et de classes au moment de l'exécution peut s'avère très utile, mais comporte le risque d'écraser des variables globales et fonctions existantes. Ceci pouvant causer d'importants problèmes de programmation, le plus grand soin est nécessaire lors de l'utilisation de l'instruction ExecuteGlobal. Si vous n'avez pas à accéder à une variable ou à une fonction en dehors d'une procédure, utilisez l'instruction Execute qui affecte uniquement le nom d'espace de la fonction appelante.

L'exemple suivant illustre l'utilisation de l'instruction ExecuteGlobal :

Dim X         ' Déclare X globalement.
X = "Global"      ' Affecte une valeur à la valeur X globale.
Sub Proc1   ' Déclare la procédure.
  Dim X      ' Déclare X localement.
  X = "Local"   ' Affecte une valeur à la valeur X locale.
         ' L'instruction Execute crée ici une procédure
         ' qui, lorsqu'elle est appelée, affiche X.
         ' Elle affiche la valeur X globale car Proc2
         ' hérite des éléments de portée globale.
  ExecuteGlobal "Sub Proc2: Print X: End Sub"
  Print Eval("X")   ' Affiche la valeur X locale.
  Proc2      ' Appelle Proc2 dans la portée globale,
         ' "Global" étant affiché.
End Sub
Proc2         ' Cette ligne provoque une erreur car
         ' Proc2 n'est pas disponible hors de Proc1.
Proc1         ' Appelle Proc1.
  Execute "Sub Proc2: Print X: End Sub"
Proc2         ' Cet appel réussit car Proc2
         ' est maintenant disponible globalement.

L'exemple ci-dessous montre comment l'instruction ExecuteGlobal peut être réécrite pour qu'il ne soit pas nécessaire de placer la procédure entière entre guillemets :

S = "Sub Proc2" & vbCrLf
S = S & "  Print X" & vbCrLf
S = S & "End Sub"
ExecuteGlobal S

Version requise

Version 1


Exit, instruction

Quitte un bloc du code Do...Loop, For...Next, Function ou Sub.

Exit Do

Exit For

Exit Function

Exit Property

Exit Sub

La syntaxe de l'instruction Exit prend les formes suivantes :

Instruction | Description
Exit Do | Fournit un moyen de quitter une instruction Do...Loop. Elle ne peut être utilisée qu'à l'intérieur d'une instruction Do...Loop. Exit Do transfère le contrôle à l'instruction suivant l'instruction Loop. Quand elle est utilisée dans des instructions Do...Loop imbriquées, l'instruction Exit Do transfère le contrôle à la boucle située au niveau d'imbrication supérieur à celui de la boucle dans laquelle elle se produit.
Exit For | Fournit un moyen de quitter une boucle For. Elle ne peut être utilisée que dans une boucle For...Next ou For Each...Next. Exit For transfère le contrôle à l'instruction suivant l'instruction Next. Quand elle est utilisée dans des boucles For imbriquées, l'instruction Exit For transfère le contrôle à la boucle située au niveau d'imbrication supérieur à celui de la boucle dans laquelle elle se produit.
Exit Function | Quitte immédiatement la procédure Function dans laquelle elle apparaît. L'exécution se poursuit avec l'instruction suivant l'instruction ayant appelé la procédure Function.
Exit Property | Quitte immédiatement la procédure Property dans laquelle elle apparaît. L'exécution se poursuit avec l'instruction suivant l'instruction ayant appelé la procédure Property.
Exit Sub | Quitte immédiatement la procédure Sub dans laquelle elle apparaît. L'exécution se poursuit avec l'instruction suivant l'instruction ayant appelé la procédure Sub.

L'exemple ci-dessous illustre l'utilisation de l'instruction Exit :

Sub RandomLoop
   Dim I, MyNum
   Do   ' Boucle infinie.
      For I = 1 To 1000   ' Boucler 1000 fois.
         MyNum = Int(Rnd * 100)   ' Générer des nombres aléatoires.
         Select Case MyNum   ' Évaluer le nombre aléatoire.
            Case 17: MsgBox "Case 17"
               Exit For   ' Si 17, sortir de For...Next.
            Case 29: MsgBox "Case 29"
               Exit Do   ' Si 29, sortir de Do...Loop.
            Case 54: MsgBox "Case 54"
               Exit Sub   ' Si 54, sortir de la procédure Sub.
            End Select
      Next
   Loop
End Sub

Version requise

Version 1

Voir aussi

Do...Loop, instruction | For Each...Next, instruction | For...Next, instruction | Function, instruction | Sub, instruction


For Each...Next, instruction

Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection.

For Each element In group
   [statements]
   [Exit For]
   [statements]
Next [element]

Arguments

element

Variable employée pour effectuer une itération sur les éléments de la collection ou du tableau. Pour les collections, l'argument element peut uniquement être une variable de type Variant, une variable de type Object générique, ou n'importe quelle variable d'objet Automation spécifique. Pour les tableaux, l'argument element peut être uniquement une variable de type Variant.

group

Nom d'une collection d'objets ou d'un tableau.

statements

Une ou plusieurs instructions pouvant être exécutées sur chaque élément d'un groupe indiqué par group.

Notes

Le bloc d'instruction For Each peut être tapé si l'entité group comporte au moins un élément. Une fois la boucle, toutes les instructions de celle-ci sont exécutées pour le premier élément de l'entité group. Puis, tant qu'il reste des éléments dans l'entité group, les instructions de la boucle continuent à s'exécuter pour chaque élément. Lorsqu'il n'y a plus d'éléments dans l'entité group, le programme sort de la boucle et exécute l'instruction se trouvant immédiatement après l'instruction Next.

L'instruction Exit For ne peut être utilisée qu'à l'intérieur d'une structure de contrôle For Each...Next ou For...Next pour fournir un autre mode de sortie. La boucle peut inclure un nombre illimité d'instructions Exit For. L'instruction Exit For est souvent employée avec l'évaluation d'une condition (par exemple, If...Then), et transfère le contrôle à l'instruction se trouvant immédiatement après Next.

Vous pouvez imbriquer des boucles For Each...Next en plaçant une boucle For Each...Next à l'intérieur d'une autre. Cependant, chaque element de boucle doit être unique.

Remarque Si vous omettez l'argument element dans une instruction Next, l'exécution se poursuit comme si vous l'aviez incluse. Si une instruction Next est rencontrée avant son instruction For correspondante, une erreur se produit.

L'exemple ci-dessous illustre l'utilisation de l'instruction For Each...Next :

Function ShowFolderList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s & "<BR>"
   Next
   ShowFolderList = s
End Function

Version requise

Version 2

Voir aussi

Do...Loop, instruction | Exit, instruction | For...Next, instruction | While...Wend, instruction


For...Next, instruction

Répète un groupe d'instructions un nombre spécifié de fois.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Arguments

counter

Variable numérique utilisée comme compteur de boucles. La variable ne peut être un élément de tableau ou un élément d'un type défini par l'utilisateur.

start

Valeur initiale de counter.

end

Valeur finale de counter.

step

Quantité par laquelle counter change à chaque accomplissement de la boucle. Si cet élément n'est pas spécifié, la valeur par défaut de increment est 1.

statements

Une ou plusieurs instructions entre For et Next qui sont exécutées le nombre de fois spécifié.

Notes

L'argument increment peut être positif ou négatif. La valeur de l'argument increment détermine le traitement de la boucle de la manière suivante :

Valeur | La boucle s'exécute si
Positif ou 0 | counter <= start
Négatif | counter >= start

Une fois que la boucle démarre et que toutes les instructions sont exécutées, l'argument increment est ajouté à counter. À ce point, les instructions contenues dans la boucle sont à nouveau exécutées (sur la base du même test ayant provoqué l'exécution initiale de la boucle) ou la boucle est quittée et l'exécution se poursuit avec l'instruction suivant l'instruction Next.

Remarque Changer la valeur de counter quand une boucle est en cours d'exécution rendra la lecture et le débogage de votre code plus difficile.

L'instruction Exit For ne peut être utilisée que dans une structure de contrôle For Each...Next ou For...Next pour fournir un autre moyen de quitter. Vous pouvez placer autant d'instructions Exit For que vous voulez n'importe où dans la boucle. L'instruction Exit For est souvent utilisée avec l'évaluation d'une condition (par exemple, If...Then) et transfère le contrôle à l'instruction succédant immédiatement à Next.

Vous pouvez imbriquer For...Next en plaçant une boucle For...Next dans une autre. Donnez à chaque boucle un nom de variable unique comme son élément counter. La construction suivante est correcte :

For I = 1 To 10
      For J = 1 To 10
            For K = 1 To 10
            . . .
            Next
      Next
Next

Version requise

Version 1

Voir aussi

Do...Loop, instruction | Exit, instruction | For Each...Next, instruction | While...Wend, instruction


Function, instruction

Déclare le nom, les arguments et le code qui forment le corps d'une procédure Function.

[Public [Default] | Private] Function name [(arglist)]
   [statements]
   [name = expression]
   [Exit Function]
   [statements]
   [name = expression]
End Function

Arguments

Public

Indique que la procédure Function est accessible à toutes les autres procédures dans tous les scripts.

Default

Utilisé uniquement avec le mot clé Public dans un bloc Class pour indiquer que la procédure Function est la méthode par défaut de la classe. Une erreur se produit si plusieurs procédures Default sont spécifiées dans une classe.

Private

Indique que la procédure Function est accessible uniquement aux autres procédures du script dans lequel elle est déclarée ou que la fonction est un membre d'une classe et que la procédure Function est accessible uniquement aux autres procédures de cette classe.

name

Nom de la procédure Function ; respecte les conventions standard d'affectation de nom à des variables.

arglist

Liste de variables représentant les arguments qui sont transmis à la procédure Function lorsqu'elle est appelée. Plusieurs variables sont séparées par des virgules.

statements

Tout groupe d'instructions à exécuter dans le corps de la procédure Function.

expression

Valeur renvoyée de la procédure Function.

L'argument arglist comporte la syntaxe et les éléments suivants :

[ByVal | ByRef] varname[( )]

Arguments

ByVal

Indique que l'argument est transmis par valeur.

ByRef

Indique que l'argument est transmis par référence.

varname

Nom de la variable représentant l'argument qui respecte les conventions standard d'affectation de nom à des variables.

Notes

En l'absence de spécification explicite par l'intermédiaire de Public ou Private, les procédures Function sont publiques par défaut, autrement dit, elles sont visibles pour toutes les autres procédures de votre script. La valeur des variables locales dans une Function n'est pas conservée entre les appels à la procédure.

Vous ne pouvez pas définir une procédure Function à l'intérieur d'une autre procédure Sub ou Property Get.

L'instruction Exit Function provoque la sortie immédiate d'une procédure Function. L'exécution du programme se poursuit avec l'instruction succédant à l'instruction ayant appelé la procédure Function. Il n'existe pas de limite au nombre d'instructions Exit Function pouvant apparaître n'importe où dans une procédure Function.

À l'instar d'une procédure Sub, une procédure Function est une procédure distincte qui peut prendre des arguments, exécuter une série d'instructions et changer la valeur de ses arguments. Toutefois, contrairement à une procédure Sub, vous pouvez utiliser une procédure Function sur le côté droit d'une expression de la même manière que vous utilisez une fonction intrinsèque comme Sqr, Cos ou Chr, quand vous voulez utiliser la valeur renvoyée par la fonction.

Vous appelez une procédure Function en utilisant le nom de fonction, suivi de la liste des arguments entre parenthèses, dans une expression. Pour toute information spécifique sur la manière d'appeler les procédures Function, consultez l'instruction Call.

Attention Les procédures Function peuvent être récursives : autrement dit, elles peuvent s'appeler elles-mêmes pour effectuer une tâche donnée. Toutefois la récursivité peut amener au dépassement de la capacité de la pile.

Pour renvoyer une valeur à partir d'une fonction, affectez cette valeur au nom de la fonction. Il n'existe pas de limite au nombre de ces affectations pouvant apparaître n'importe où dans la procédure. Si aucune valeur n'est affectée à name, la procédure renvoie une valeur par défaut : une fonction numérique renvoie 0 et une fonction chaîne renvoie une chaîne de longueur nulle (""). Une fonction qui renvoie une référence d'objet renvoie la valeur Nothing si aucune référence d'objet n'est affectée à name (en utilisant Set) dans la Function.

L'exemple suivant décrit la manière d'affecter une valeur renvoyée à une fonction nommée BinarySearch. Dans ce cas, la valeur False est affectée au nom pour indiquer qu'une certaine valeur n'a pas été trouvée.

Function BinarySearch(. . .)
      . . .
      ' Valeur non trouvée, renvoie la valeur False.
      If lower > upper Then
            BinarySearch = False
            Exit Function
      End If
      . . .
End Function

Les variables utilisées dans les procédures Function se divisent en deux catégories : celles explicitement déclarées dans la procédure et celles qui ne le sont pas. Les premières (déclarées en utilisant Dim ou l'équivalent) sont toujours locales pour la procédure. Les variables qui sont utilisées mais qui ne sont pas explicitement déclarées dans une procédure sont également locales à moins qu'elles n'aient été explicitement déclarées à un niveau supérieur hors de la procédure.

Attention Une procédure peut utiliser une variable qui n'est pas déclarée explicitement dans la procédure, mais un conflit peut se produire si tout élément que vous avez défini au niveau du script porte le même nom que la variable. Si votre procédure fait référence à une variable non déclarée qui porte le même nom qu'une autre procédure, constante ou variable, il est supposé que votre procédure fait référence au nom situé au niveau du script. Pour éviter ce genre de conflit, utilisez une instruction Option Explicit pour forcer la déclaration explicite des variables.

Attention VBScript peut réorganiser les expressions arithmétiques de manière à optimiser l'efficacité interne. Évitez d'utiliser une procédure Function dans une expression arithmétique quand la fonction change la valeur des variables dans la même expression.

Version requise

Version 1

Voir aussi

Call, instruction | Dim, instruction | Exit, instruction | Nothing | Set, instruction | Sub, instruction


If...Then...Else, instruction

Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression.

If condition Then statements [Else elsestatements ]

Ou, vous pouvez utiliser la syntaxe suivante, plus polyvalente :

If condition Then
   [statements]
[ElseIf condition-n Then
   [elseifstatements]] . . .
[Else
   [elsestatements]]
End If

Arguments

condition

Un ou plusieurs types d'expressions suivants :

Une expression numérique ou une expression de chaîne qui produit la valeur True ou False. Si condition est Null, l'élément condition est traité comme False.

Une expression de la forme TypeOf objectname Is objecttype. L'élément objectname est toute référence d'objet et l'élément objecttype est tout type d'objet valide. L'expression est True si objectname est le type d'objet spécifié par typeobjet ; dans le cas contraire, sa valeur est False.

statements

Une ou plusieurs instructions séparées par deux-points ; exécutées si condition est True.

condition-n

Condition identique.

elseifstatements

Une ou plusieurs instructions exécutées si la condition-n est True.

elsestatements

Une ou plusieurs instructions exécutées si aucune expression de condition ou condition-n n'est True.

Notes

Vous pouvez utiliser la forme en ligne simple (première syntaxe) pour les tests courts et simples. Toutefois, la forme en bloc (seconde syntaxe) fournit une structure plus solide et une plus grande souplesse que la forme en ligne simple, et elle est souvent plus facile à lire, à mettre à jour et à déboguer.

Remarque Avec la syntaxe en ligne simple, il est possible de provoquer l'exécution de plusieurs instructions comme résultat d'une décision If...Then, mais elles doivent toutes être sur la même ligne et séparées par deux- points, comme dans l'instruction suivante :

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Lors de l'exécution d'un bloc If (seconde syntaxe), condition est testé. Si condition est True, les instructions suivant Then sont exécutées. Si condition est False, chaque clause ElseIf (s'il en existe) est évaluée à tour de rôle. Quand une condition True est trouvée, les instructions suivant l'élément Then sont exécutées. Si aucune des instructions ElseIf n'est True (ou s'il n'existe pas de clause ElseIf), les instructions suivant Else sont exécutées. Après l'exécution des instructions suivant Then ou Else, l'exécution se poursuit avec l'instruction suivant End If.

Les clauses Else et ElseIf sont toutes deux facultatives. Vous pouvez intégrer autant d'instructions ElseIf que vous voulez dans un bloc If, mais aucune ne peut apparaître après la clause Else. Les instructions de blocs If peuvent être imbriquées, autrement dit, se contenir l'une l'autre.

Ce qui suit le mot clé Then est examiné pour déterminer si une instruction est un bloc If ou non. Si tout élément autre qu'un commentaire apparaît après Then sur la même ligne, l'instruction est traitée comme une instruction If en ligne simple.

Une instruction contenant des blocs If doit être la première instruction sur une ligne. Le bloc If doit terminer une instruction End If.

Version requise

Version 1


On Error, instruction

Active ou désactive la gestion des erreurs.

On Error Resume Next
On Error GoTo 0

Notes

Si vous n'utilisez pas d'instruction On Error Resume Next à un autre endroit de votre code, toute erreur d'exécution se produisant pourra générer l'affichage d'un message d'erreur et l'arrêt de l'exécution du code. Toutefois, le comportement exact est déterminé par l'hôte exécutant le code. Parfois, il peut choisir de gérer certaines erreurs de manière différente. Dans certains cas, le débogueur de scripts pourra être appelé au niveau de l'erreur. Dans d'autres circonstances, aucune indication apparente d'erreur ne sera mentionnée car l'hôte ne notifie pas l'utilisateur. Là encore, tout est fonction de la manière dont l'hôte gère les erreurs qui se produisent.

Au sein d'une procédure particulière, une erreur n'est pas nécessairement fatale dès l'instant où la gestion des erreurs est activée le long de la pile d'appels. Si la gestion locale des erreurs n'est pas activée dans une procédure et qu'une erreur se produit, le contrôle est repassé à la pile d'appels jusqu'à ce qu'une procédure avec gestion des erreurs soit trouvée ; l'erreur est alors traitée à ce niveau. Si la gestion des erreurs n'est activée pour aucune des procédures de la pile d'appels, un message d'erreur est affiché à ce niveau et l'exécution prend fin ou l'hôte traite l'erreur comme il se doit.

L'instruction On Error Resume Next provoque la poursuite de l'exécution avec l'instruction succédant immédiatement à l'instruction ayant provoqué l'erreur d'exécution, ou avec l'instruction suivant immédiatement l'appel le plus récent de la procédure contenant l'instruction On Error Resume Next. Ceci permet de poursuivre l'exécution malgré une erreur d'exécution. Vous pouvez alors créer la routine de gestion d'erreur en ligne à l'intérieur de la procédure.

L'instruction On Error Resume Next devient inactive quand une autre procédure est appelée, de sorte que vous devez exécuter une instruction On Error Resume Next dans chaque routine appelée si vous souhaitez intégrer la gestion d'erreurs en ligne dans cette routine. Lorsque vous quittez une procédure, la fonction de gestion des erreurs retrouve l'état qu'elle présentait avant que vous n'accédiez à cette procédure.

Utilisez On Error GoTo 0 pour désactiver la gestion des erreurs si vous l'avez activée précédemment avec On Error Resume Next.

L'exemple ci-dessous illustre l'utilisation de l'instruction On Error Resume Next.

On Error Resume Next
Err.Raise 6   ' Génère une erreur de dépassement.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear   ' Efface l'erreur.

Version requise

Version 1

Err, objet | Exit, instruction


Option Explicit, instruction

Force la déclaration explicite de toutes les variables dans un script.

Option Explicit

Notes

Si elle est utilisée, l'instruction Option Explicit doit apparaître dans un script avant toute autre instruction.

Quand vous utilisez l'instruction Option Explicit, vous devez déclarer explicitement toutes les variables en utilisant les instructions Dim, Private, Public ou ReDim. Si vous essayez d'utiliser le nom d'une variable non déclarée, une erreur se produit.

Conseil Utilisez Option Explicit pour éviter de taper incorrectement le nom d'une variable existante ou de créer une confusion dans le code si la portée de la variable n'est pas claire.

L'exemple ci-dessous illustre l'utilisation de l'instruction Option Explicit.

Option Explicit   ' Forcer la déclaration explicite des variables.
Dim MyVar   ' Déclarer une variable.
MyInt = 10   ' La variable non déclarée génère une erreur.
MyVar = 10   ' La variable déclarée ne génère pas d'erreur.

Version requise

Version 1


Private, instruction

Déclare les variables privées et alloue l'espace de stockage. Déclare, dans un bloc Class, une variable privée.

Private varname[([subscripts])][, varname[([subscripts])]] . . .

Arguments

varname

Nom de la variable ; respecte les conventions standard d'affectation de noms de variable.

subscripts

Dimensions d'une variable de tableau ; jusqu'à 60 dimensions peuvent être déclarées. L'argument subscripts utilise la syntaxe suivante :

upper [, upper] . . .

La limite inférieure d'un tableau a toujours la valeur zéro.

Notes

Les variables Private sont accessibles uniquement dans le script où elles ont été déclarées.

Une variable se référant à un objet doit être affectée à un objet existant à l'aide de l'instruction Set avant de pouvoir être utilisée. Jusqu'à ce qu'elle ait été affectée à un objet, la variable objet déclarée a la valeur Empty.

Vous pouvez également employer l'instruction Private avec des parenthèses vides pour déclarer un tableau dynamique. Après la déclaration d'un tableau dynamique, utilisez l'instruction ReDim dans une procédure pour définir le nombre de dimensions et d'éléments du tableau. Si vous tentez de redéclarer une dimension pour une variable de tableau dont la taille a été explicitement spécifiée dans une instruction Private, Public ou Dim, une erreur se produit.

Remarque Il convient de placer l'instruction Private au début de la procédure lorsque vous l'utilisez.

L'exemple ci-dessous illustre l'utilisation de l'instruction Private.

Private MyNumber   ' Variable Variant Private.
Private MyArray(9)   ' Variable tableau Private.
   ' Déclaration Private multiples de variables Variant.
Private MyNumber, MyVar, YourNumber

Version requise

Version 1

Voir aussi

Dim, instruction | Public, instruction | ReDim, instruction | Set, instruction


Property Get, instruction

Déclare, dans un bloc Class, le nom, les arguments et le code formant une procédure Property qui obtient (renvoie) la valeur d'une propriété.

[Public [Default] | Private] Property Get name [(arglist)]
   [statements]
   [[Set] name = expression]
   [Exit Property]
   [statements]
   [[Set] name = expression]
End Property

Arguments

Public

Indique que la procédure Property Get est accessible par toutes les procédures contenues dans les scripts.

Default

Utilisé seulement avec le mot clé Public pour indiquer que la propriété définie dans la procédure Property Get est la propriété par défaut pour la classe.

Private

Indique que la procédure Property Get est accessible par toutes les procédures inscrites dans le bloc Class où elle est déclarée.

name

Nom de la procédure Property Get ; respecte les conventions standard d'affectation de noms de variable, excepté le fait que ce nom peut être le même que celui de la procédure Property Let ou Property Set dans un même bloc Class.

arglist

Liste des variables représentant les arguments qui sont transférés à la procédure Property Get lorsqu'elle est appelée. Les arguments sont séparés par des virgules. Le nom de chaque argument d'une procédure Property Get doit être le même que celui de l'argument correspondant dans une procédure Property Let (si elle existe).

statements

Tout groupe d'instructions à exécuter à l'intérieur d'une procédure Property Get.

Set

Mot clé utilisé lorsqu'un objet est affecté de la valeur renvoyée par une procédure Property Get.

expression

Valeur renvoyée par la procédure Property Get.

Notes

Si elles ne sont pas explicitement spécifiées comme Public ou Private, les procédures Property Get sont publiques par défaut. Elles sont accessibles par toutes les procédures contenues dans votre script. La valeur des variables locales dans une procédure Property Get n'est pas préservée entre les appels de la procédure.

Vous ne pouvez pas définir une procédure Property Get à l'intérieur d'une autre procédure (en d'autres termes, Function ou Property Let).

L'instruction Exit Property quitte immédiatement la procédure Property Get en cours. Le programme continue en passant à l'instruction qui suit celle à l'origine de l'appel de la procédure Property Get. Plusieurs instructions Exit Property peuvent apparaître dans une procédure Property Get.

Comme les procédures Sub et Property Let, une procédure Property Get est séparée et peut prendre en charge des arguments, exécuter une série d'instructions et modifier la valeur de ses arguments. En revanche, contrairement aux procédures Sub et Property Let, il est possible d'utiliser une procédure Property Get à droite d'une expression de la même manière que vous le faites avec le nom d'une instruction Function ou d'une propriété lorsque vous souhaitez renvoyer la valeur d'une propriété.

Version requise

Version 5

Voir aussi

Class, instruction | Dim, instruction | Exit, instruction | Function, instruction | Private, instruction | Property Let, instruction | Property Set, instruction | Public, instruction | Set, instruction | Sub, instruction


Property Let, instruction

Déclare, dans un bloc Class, le nom, les arguments et le code formant une procédure Property qui affecte (définit) la valeur d'une propriété.

[Public | Private] Property Let name ([arglist,] value)
   [statements]
   [Exit Property]
   [statements]
End Property

Arguments

Public

Indique que la procédure Property Let est accessible par toutes les procédures contenues dans les scripts.

Private

Indique que la procédure Property Let est accessible seulement par les autres procédures du bloc Class où elle est déclarée.

name

Nom de la procédure Property Let ; respecte les conventions standard d'affectation de noms de variable, excepté le fait que ce nom peut être le même que celui de la procédure Property Get ou Property Set dans un même bloc Class.

arglist

Liste des variables représentant les arguments qui sont transférés à la procédure Property Let lorsqu'elle est appelée. Les arguments sont séparés par des virgules. Le nom de chaque argument d'une procédure Property Let doit être le même que celui de l'argument correspondant dans une procédure Property Get. De plus, la procédure Property Let devra toujours posséder un argument supplémentaire par rapport à la procédure Property Get correspondante. Cet argument représente la valeur qui est couramment affectée à la propriété.

value

Variable qui contient la valeur affectée à la propriété. Lorsque la procédure est appelée, cet argument apparaît à la droite de l'expression à l'origine de l'appel.

statements

Tout groupe d'instructions à exécuter à l'intérieur d'une procédure Property Let.

Remarque Chaque instruction Property Let doit définir au moins un argument pour la procédure qu'il traite. Cet argument, ou le dernier argument s'il en existe plusieurs, contient la valeur réelle qui sera affectée à la propriété lorsque la procédure définie par l'instruction Property Let sera appelée. Cet argument est appelé value dans la syntaxe précédente.

Notes

Si elles ne sont pas explicitement spécifiées comme Public ou Private, les procédures Property Let sont publiques par défaut. Elles sont accessibles par toutes les procédures contenues dans votre script. La valeur des variables locales dans une procédure Property Let n'est pas préservée entre les appels de la procédure.

Vous ne pouvez pas définir une procédure Property Let à l'intérieur d'une autre procédure (en d'autres termes, Function ou Property Get).

L'instruction Exit Property quitte immédiatement la procédure Property Let en cours. Le programme continue en passant à l'instruction qui suit celle à l'origine de l'appel de la procédure Property Let. Plusieurs instructions Exit Property peuvent apparaître dans une procédure Property Let.

Comme les procédures Function et Property Get, une procédure Property Let est séparée et peut prendre en charge des arguments, exécuter une série d'instructions et modifier la valeur de ses arguments. En revanche, contrairement aux procédures Function et Property Get, ces deux procédures renvoyant une valeur, utilisez une procédure Property Let à gauche d'une expression d'affectation de propriété.

Version requise

Version 5

Voir aussi

Class, instruction | Dim, instruction | Exit, instruction | Function, instruction | Private, instruction | Property Get, instruction | Property Set, instruction | Public, instruction | Set, instruction | Sub, instruction


Property Set, instruction

Déclare, dans un bloc Class, le nom, les arguments et le code formant une procédure Property qui définit la référence à un objet.

[Public | Private] Property Set name([arglist,] reference)
   [statements]
   [Exit Property]
   [statements]
End Property

Arguments

Public

Indique que la procédure Property Set est accessible par toutes les procédures contenues dans les scripts.

Private

Indique que la procédure Property Set est accessible par toutes les procédures inscrites dans le bloc Class où elle est déclarée.

name

Nom de la procédure Property Set ; respecte les conventions standard d'affectation de noms de variable, excepté le fait que ce nom peut être le même que celui de la procédure Property Get ou Property Let dans un même bloc Class.

arglist

Liste des variables représentant les arguments qui sont transférés à la procédure Property Set lorsqu'elle est appelée. Les arguments sont séparés par des virgules. De plus, la procédure Property Set devra toujours posséder un argument supplémentaire par rapport à la procédure Property Get correspondante. Cet argument représente l'objet qui est couramment affecté à la propriété.

reference

Variable contenant la référence à l'objet apparaissant à la droite de l'affectation de référence.

statements

Tout groupe d'instructions à exécuter à l'intérieur d'une procédure Property Set.

Remarque Chaque instruction Property Set doit définir au moins un argument pour la procédure qu'il traite. Cet argument, ou le dernier argument s'il en existe plusieurs, contient la référence de la propriété lorsque la procédure définie par l'instruction Property Set est appelée. Cet argument est appelé référence dans la syntaxe précédente.

Notes

Si elles ne sont pas explicitement spécifiées comme Public ou Private, les procédures Property Set sont publiques par défaut. Elles sont accessibles par toutes les procédures contenues dans votre script. La valeur des variables locales dans une procédure Property Set n'est pas préservée entre les appels de la procédure.

Vous ne pouvez pas définir une procédure Property Set à l'intérieur d'une autre procédure (en d'autres termes, Function ou Property Let).

L'instruction Exit Property quitte immédiatement la procédure Property Set en cours. Le programme continue en passant à l'instruction qui suit celle à l'origine de l'appel de la procédure Property Set. Plusieurs instructions Exit Property peuvent apparaître dans une procédure Property Set.

Comme les procédures Function et Property Get, une procédure Property Set est séparée et peut prendre en charge des arguments, exécuter une série d'instructions et modifier la valeur de ses arguments. En revanche, contrairement aux procédures Function et Property Get, les deux renvoyant une valeur, il est possible d'utiliser une procédure Property Set seulement à gauche de l'affection de référence à l'objet (instruction Set).

Version requise

Version 5

Voir aussi

Class, instruction | Dim, instruction | Exit, instruction | Function, instruction | Private, instruction | Property Get, instruction | Property Let, instruction | Public, instruction | Set, instruction | Sub, instruction


Public, instruction

Déclare des variables publiques et affecte l'espace de stockage. Déclare, dans un bloc Class, une variable privée.

Public varname[([subscripts])][, varname[([subscripts])]] . . .

Arguments

varname

Nom de la variable ; respecte les conventions standard d'affectation de noms de variable.

subscripts

Dimensions d'une variable de tableau ; jusqu'à 60 dimensions peuvent être déclarées. Syntaxe de l'argument subscripts :

upper [, upper] . . .

La limite inférieure d'un tableau a toujours la valeur zéro.

Notes

Les variables avec l'instruction Public sont accessibles dans toutes les procédures de tous les scripts.

Une variable se référant à un objet doit être affectée à un objet existant à l'aide de l'instruction Set avant de pouvoir être utilisée. Jusqu'à ce qu'elle ait été affectée à un objet, la variable objet a la valeur Empty.

Vous pouvez également utiliser l'instruction Public avec des parenthèses vides pour déclarer un tableau dynamique. Après la déclaration d'un tableau dynamique, utilisez l'instruction ReDim dans une procédure pour définir le nombre de dimensions et d'éléments du tableau. Si vous tentez de déclarer à nouveau une dimension pour une variable de tableau dont la taille a été explicitement spécifiée dans une instruction Private, Public ou Dim, une erreur se produit.

L'exemple ci-dessous illustre l'utilisation de l'instruction Public :

Public MyNumber   ' Variable Variant Public.
Public MyArray(9)   ' Variable tableau Public.
   ' Déclaration Public multiple de variables Variant.
Public MyNumber, MyVar, YourNumber

Version requise

Version 1

Voir aussi

Dim, instruction | Private, instruction | ReDim, instruction | Set, instruction


Randomize, instruction

Initialise le générateur de nombres aléatoires.

Randomize [number]

L'argument number représente toute expression numérique valide.

Notes

L'instruction Randomize utilise l'argument number pour initialiser le générateur de nombres aléatoires de la fonction Rnd, en lui donnant une nouvelle valeur initiale. Si vous omettez l'argument number, la valeur renvoyée par l'horloge système est utilisée comme nouvelle valeur initiale.

Si l'instruction Randomize n'est pas utilisée, la fonction Rnd (sans argument) utilise le même nombre comme valeur initiale la première fois qu'elle est appelée, et utilise ensuite le dernier nombre généré comme valeur initiale.

Remarque Pour répéter des séquences de nombres aléatoires, appelez l'instruction Rnd avec un argument négatif immédiatement avant d'utiliser Randomize avec un argument numérique. Utiliser Randomize avec la même valeur pour number ne répète pas la séquence précédente.

L'exemple ci-dessous illustre l'utilisation de l'instruction Randomize.

Dim MyValue, Response
Randomize   ' Initialise le générateur de nombres aléatoires.
Do Until Response = vbNo
   MyValue = Int((6 * Rnd) + 1)   ' Génère une valeur aléatoire entre 1 et 6.
   MsgBox MyValue
   Response = MsgBox ("Recommencer? ", vbYesNo)
Loop

Version requise

Version 1

Rnd, fonction | Timer, fonction


ReDim, instruction

Déclare les variables de tableau dynamique et attribue ou réattribue l'espace de stockage au niveau de la procédure.

ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . .

Arguments

Preserve

Conserve les données d'un tableau existant quand vous changez la taille de la dernière dimension.

varname

Nom de la variable ; respecte les conventions standard d'affectation de nom à des variables.

subscripts

Dimensions d'une variable d'un tableau ; jusqu'à 60 dimensions multiples peuvent être déclarées. L'argument subscripts utilise la syntaxe suivante :

upper [,upper] . . .

La valeur inférieure d'un tableau est toujours zéro.

Notes

L'instruction ReDim est utilisée pour dimensionner ou redimensionner un tableau dynamique qui a déjà été déclaré formellement en utilisant une instruction Private, Public ou Dim avec des parenthèses vides (sans indice de dimension). Vous pouvez utiliser l'instruction ReDim de façon itérative pour changer le nombre d'éléments et les dimensions d'un tableau.

Si vous utilisez le mot clé Preserve, vous ne pouvez modifier que la dernière dimension du tableau et, en aucun cas, le nombre de dimensions. Par exemple, si votre tableau ne comporte qu'une seule dimension, vous pouvez la modifier car c'est la dernière et seule dimension. Toutefois, si votre tableau comporte deux ou plusieurs dimensions, vous ne pouvez modifier que la dernière dimension, tout en conservant le contenu du tableau.

L'exemple suivant montre comment vous pouvez augmenter la taille de la dernière dimension d'un tableau dynamique, sans pour autant effacer les données contenues dans ce dernier.

ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)

Attention Si vous réduisez la taille originale d'un tableau, les données contenues dans les éléments éliminés sont perdues.

Quand les variables sont initialisées, une variable numérique est initialisée à 0 et une variable de chaîne est initialisée avec une chaîne de longueur nulle (""). Une variable faisant référence à un objet doit être affectée à un objet existant à l'aide de l'instruction Set avant de pouvoir être utilisée. Jusqu'à ce qu'elle soit affectée à un objet, la variable objet déclarée possède la valeur spéciale Nothing.

Version requise

Version 1

Dim, instruction | Set, instruction


Rem, instruction

Inclut des remarques explicatives dans un programme.

Rem comment

-ou-

' comment

L'argument comment représente le texte de tout commentaire que vous voulez inclure. Vous devez insérer un espace entre le mot clé Rem et l'argument comment.

Notes

Comme indiqué dans la section Syntaxe, vous pouvez remplacer le mot clé Rem par une apostrophe ('). Si le mot clé Rem suit les autres instructions sur une ligne, insérez le caractère deux-points pour les séparer. Toutefois, quand vous utilisez l'apostrophe, les deux-points ne sont pas requis après d'autres instructions.

L'exemple ci-dessous illustre l'utilisation de l'instruction Rem.

Dim MyStr1, MyStr2
MyStr1 = "Bonjour" : Rem Commentaire après une instruction, séparer par deux-points.
MyStr2 = "Au revoir" ' Ceci est aussi un commentaire ; deux-points ne sont pas nécessaires.
Rem Commentaire sur une ligne sans code ; deux-points ne sont pas
nécessaires.

Version requise

Version 1


Select Case, instruction

Exécute un groupe d'instructions parmi plusieurs, en fonction de la valeur d'une expression.

Select Case testexpression
   [Case expressionlist-n
      [statements-n]] . . .
   [Case Else expressionlist-n
      [elsestatements-n]]
End Select

Arguments

testexpression

Toute expression numérique ou de chaîne.

expressionlist-n

Requis si Case apparaît. Liste délimitée d'une ou de plusieurs expressions.

statements-n

Une ou plusieurs instructions exécutées si testexpression correspond à un élément de expressionlist-n.

elsestatements-n

Une ou plusieurs instructions exécutées si testexpression ne correspond à aucune des clauses Case.

Notes

Si testexpression correspond à une expression Case expressionlist, les instructions suivant cette clause Case sont exécutées jusqu'à la clause Case suivante ou, pour la dernière clause, jusqu'à End Select. L'instruction suivant End Select prend ensuite le contrôle. Si testexpression correspond à une expression expressionlist dans plusieurs clauses Case, seules les instructions suivant la première correspondance sont exécutées.

La clause Case Else est utilisée pour indiquer les elsestatements à exécuter si aucune correspondance n'était trouvée entre l'expression testexpression et une expressionlist dans toutes les autres sélections Case. Bien que ce ne soit pas obligatoire, il est judicieux d'insérer une instruction Case Else dans votre bloc Select Case pour gérer les valeurs testexpression imprévues. Si aucune Case expressionlist ne correspond à testexpression et s'il n'y a pas d'instruction Case Else, l'exécution continue à partir de l'instruction suivant End Select.

Les instructions Select Case peuvent être imbriquées. Chaque instruction Select Case imbriquée doit avoir une instruction End Select correspondante.

L'exemple ci-dessous illustre l'utilisation de l'instruction Select Case.

Dim Color, MyVar
Sub ChangeBackground (Color)
   MyVar = lcase (Color)
   Select Case MyVar
      Case "rouge"     document.bgColor = "rouge"
      Case "vert"   document.bgColor = "vert"
      Case "bleu"    document.bgColor = "bleu"
      Case Else      MsgBox "choisissez une autre couleur"
   End Select
End Sub

Version requise

Version 1

If ... Then ... Else, instruction


Set, instruction

Affecte une référence d'objet à une variable ou à une propriété, ou associe une référence de procédure à un événement.

Set objectvar = {objectexpression | New classname | Nothing}

-ou-

Set object.eventname = GetRef(procname)

Arguments

objectvar

Nom de la variable ou de la propriété ; respecte les conventions standard d'affectation de noms à des variables.

objectexpression

Facultatif. Expression composée du nom d'un objet, d'une autre variable déclarée du même type d'objet ou d'une fonction ou méthode qui renvoie un objet appartenant au même type d'objet.

New

Mot clé utilisé pour créer une nouvelle instance de classe. Si objectvar contient une référence à un objet, celle-ci est ignorée lorsqu'une nouvelle référence est affectée. Le mot clé New est uniquement utilisé pour créer l'instance d'une classe.

classname

Facultatif. Nom de la classe en cours de création. Une classe et ses membres sont définies par l'instruction Class.

Nothing

Facultatif. Met fin à l'association de l'élément objectvar à un objet ou une classe spécifique. L'affectation à objectvar de la valeur Nothing libère toutes les ressources système et mémoire associées à l'objet précédemment référencé quand aucune autre variable n'y fait référence.

object

Nom de l'objet avec lequel event est associé.

event

Nom de l'événement auquel une fonction va être liée.

procname

Chaîne contenant le nom de la procédure Sub ou Function en cours d'association avec event.

Notes

Pour être valide, objectvar doit être un type d'objet en cohérence avec l'objet qui lui est affecté.

Les instructions Dim, Private, Public ou ReDim ne déclarent qu'une variable faisant référence à un objet. Il n'est fait référence à aucun objet réel avant que vous n'utilisiez l'instruction Set pour affecter un objet spécifique.

En général, lorsque vous utilisez Set pour affecter une référence d'objet à une variable, aucune copie de l'objet n'est créée pour cette variable. À la place, une référence à l'objet est créée. Plusieurs variables d'objets peuvent faire référence au même objet. Dans la mesure où ces variables sont des références à l'objet (plutôt que des copies), tout changement apporté à l'objet est répercuté dans toutes les variables y faisant référence.

Function ShowFreeSpace(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & d.VolumeName  & "<BR>"
   s = s & "Espace disponible: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " Koctets"
   ShowFreeSpace = s
End Function

L'utilisation du mot clé New vous permet de créer une instance de classe et de lui affecter une variable de référence à un objet. La variable à laquelle l'instance de la classe est affectée doit être déclarée au préalable avec l'instruction Dim (ou une instruction équivalente).

Reportez-vous à la documentation relative à la fonction GetRef pour associer une procédure à un événement au moyen de l'instruction Set.

Version requise

Version 1

Voir aussi

=, opérateur | Dim, instruction | GetRef, fonction | ReDim, instruction


Sub, instruction

Déclare le nom, les arguments et le code qui forment le corps d'une procédure Sub.

[Public [Default] | Private] Sub name [(arglist)]
   [statements]
   [Exit Sub]
   [statements]
End Sub

Arguments

Public

Indique que la procédure Sub est accessible à toutes les autres procédures dans tous les scripts.

Default

Utilisé seulement avec le mot clé Public dans un bloc Class pour indiquer que la procédure Sub est la méthode par défaut de la classe. Une erreur se produit si plusieurs procédures Default sont spécifiées dans une classe.

Private

Indique que la procédure Sub est accessible uniquement aux autres procédures du script dans lequel elle est déclarée.

name

Nom de la procédure Sub ; respecte les conventions standard d'affectation de nom à des variables.

arglist

Liste de variables représentant les arguments passés à la procédure Sub quand elle est appelée. Les variables multiples sont séparées par des virgules.

statements

Tout groupe d'instructions à exécuter dans le corps de la procédure Sub.

L'argument arglist comprend la syntaxe et les éléments suivants :

[ByVal | ByRef] varname[( )]

Arguments

ByVal

Indique que l'argument est transmis par valeur.

ByRef

Indique que l'argument est transmis par référence.

varname

Nom de la variable représentant l'argument ; respecte les conventions standard d'affectation de nom à des variables.

Notes

En l'absence des mots clés Public ou Private, les procédures Sub sont publiques par défaut. En d'autres termes, elles sont visibles pour toutes les autres procédures de votre script. La valeur des variables locales dans une procédure Sub n'est pas conservée entre les appels à la procédure.

Vous ne pouvez définir une procédure Sub à l'intérieur d'une autre procédure Function ou Property Get.

L'instruction Exit Sub provoque la sortie immédiate d'une procédure Sub. L'exécution du programme se poursuit avec l'instruction suivant l'instruction ayant appelé la procédure Sub. Une procédure Sub peut comporter un nombre indéterminé d'instructions Exit Sub apparaissant en n'importe quel point.

À l'instar d'une procédure Function, une procédure Sub est une procédure distincte qui peut prendre des arguments, exécuter une série d'instructions et changer la valeur de ses arguments. Toutefois, contrairement à la procédure Function qui renvoie une valeur, une procédure Sub ne peut pas être utilisée dans une expression.

Vous appelez une procédure Sub en utilisant le nom de la procédure, suivi de la liste des arguments. Pour plus d'informations sur la manière d'appeler les procédures Sub, consultez l'instruction Call.

Attention Les procédures Sub peuvent être récursives, autrement dit, elles peuvent s'appeler elles-mêmes pour effectuer une tâche donnée. Toutefois, la récursivité peut amener au dépassement de la capacité de la pile.

Les variables utilisées dans les procédures Sub se divisent en deux catégories : celles qui sont déclarées explicitement dans la procédure et celles qui ne le sont pas. Les premières (déclarées en utilisant Dim ou l'équivalent) sont toujours locales pour la procédure. Les variables utilisées sans avoir été déclarées explicitement dans une procédure sont toujours locales, à moins qu'elles n'aient été explicitement déclarées à un niveau supérieur hors de la procédure.

Attention Une procédure peut utiliser une variable qui n'est pas déclarée explicitement dans la procédure, mais un conflit peut se produire si vous avez défini un élément au niveau du script qui porte le même nom que celui de la variable. Si votre procédure fait référence à une variable non déclarée portant le même nom qu'une autre procédure, constante ou variable, il est supposé que votre procédure fait référence à ce nom au niveau du script. Pour éviter ce genre de conflit, utilisez une instruction Option Explicit pour forcer la déclaration explicite des variables.

Version requise

Version 1

Voir aussi

Call, instruction | Dim, instruction | Exit, instruction | Function, instruction


While...Wend, instruction

Exécute une série d'instructions tant qu'une condition donnée est True.

While condition
   Version [statements]
Wend

Arguments

condition

Expression numérique ou expression de chaîne qui produit la valeur True ou False. Si condition est Null, l'élément condition est traité comme étant False.

statements

Une ou plusieurs instructions exécutées alors que condition est True.

Notes

Si condition est True, toutes les instructions contenues dans statements sont exécutées jusqu'à ce que l'instruction Wend soit rencontrée. L'instruction While prend ensuite le contrôle et l'élément condition est à nouveau vérifié. Si condition est toujours True, le processus est répété. Si condition n'est pas True, l'exécution reprend en commençant par l'instruction succédant à l'instruction Wend.

Des boucles While...Wend peuvent être imbriquées à tous les niveaux. Chaque instruction Wend correspond à l'instruction While la plus récente.

Remarque L'instruction Do...Loop fournit un moyen plus structuré et plus souple d'effectuer une itération en boucle.

L'exemple ci-dessous illustre l'utilisation de l'instruction While...Wend :

Dim Counter
Counter = 0   ' Initialiser la variable.
While Counter < 20   ' Teste la valeur du compteur.
   Counter = Counter + 1   ' Incrémente le compteur.
   Alert Counter
Wend   ' Fin de la boucle While lorsque Counter > 19.

Version requise

Version 1

Do...Loop, instruction


With, instruction

Exécute une série d'instructions sur un objet unique.

With object
   statements
End With

Arguments

object

Nom d'un objet ou d'une fonction qui renvoie un objet.

statements

Requis. Une ou plusieurs instructions à appliquer sur un objet.

Notes

L'instruction With vous permet d'effectuer une série d'instructions sur un objet spécifique sans qu'il ne soit nécessaire de qualifier à nouveau le nom de l'objet. Pour modifier le nombre des propriétés relatives à un objet unique, par exemple, placez les instructions d'affection de propriété dans la structure de contrôle With. Celle-ci fait référence à l'objet une seule fois au lieu de faire référence à l'objet à chaque affectation. L'exemple suivant montre comment l'instruction With est utilisée pour affecter des valeurs à plusieurs propriétés d'un même objet.

With MyLabel
   .Height = 2000
   .Width = 2000
   .Caption = "Ceci est MonÉtiquette"
End With

La manipulation des propriétés est un aspect important de la fonctionnalité With mais elle n'en représente pas la seule utilité. Tout code légal peut être utilisé dans le bloc With.

Remarque Lorsque le bloc With est saisi, l'objet ne peut pas être modifié. Par conséquent, vous ne pouvez pas utiliser une seule instruction With pour affecter différents objets.

Il est possible d'imbriquer des instructions With en plaçant un bloc With à l'intérieur d'un autre. Cependant, les membres des blocs With externes étant cachés au sein des blocs With internes, il est nécessaire de fournir une référence à l'objet complète dans un bloc With interne à tout membre d'un objet figurant dans un bloc With externe.

Important Ne passez pas dans ou hors des blocs With. Si les instructions d'un bloc With sont exécutées, sauf l'instruction With ou l'instruction End With, vous risquez de constater des erreurs ou un comportement différent.

Version requise

Version 1

Set, instruction


Guide de l'utilisateur FileSystemObject

Le modèle d'objet FileSystemObject

Introduction à FileSystemObject et à la référence de la bibliothèque d'exécution Scripting

Objets FileSystemObject

Programmation de l'objet FileSystemObject

Utilisation des lecteurs et des dossiers

Utilisation des fichiers

Exemple de code FileSystemObject


Le modèle d'objet FileSystemObject

Lorsque vous écrivez des scripts pour les pages ASP, pour Windows Scripting Host, ou pour d'autres applications utilisant les scripts, il est souvent important d'ajouter, de déplacer, de modifier, de créer ou de supprimer des dossiers (répertoires) et des fichiers sur le serveur Web. Il peut également se révéler nécessaire de lire des informations relatives aux lecteurs et de manipuler des lecteurs connectés au serveur Web.

Scripting vous permet de gérer les lecteurs, les dossiers et les fichiers grâce au modèle d'objet FileSystemObject (FSO) décrit dans les sections suivantes :

  • Introduction à FileSystemObject et à la référence de la bibliothèque d'exécution Scripting
  • Objets du FileSystemObject
  • Programmation du FileSystemObject
  • Utilisation des lecteurs et des dossiers
  • Utilisation des fichiers
  • Exemple de code du FileSystemObject


Introduction à FileSystemObject et à la référence de la bibliothèque d'exécution Scripting

Le modèle d'objet FileSystemObject (FSO) vous permet d'utiliser la syntaxe familière object.method avec un ensemble riche de propriétés, de méthodes et d'événements pour gérer les dossiers et les fichiers.

Utilisez cet outil à base d'objets avec :

  • HTML, pour créer des pages Web
  • Windows Scripting Host, pour créer des fichiers de commande pour Microsoft Windows
  • Script Control, pour fournir des fonctionnalités de script aux applications développées dans un autre langage

Parce que l'utilisation du FSO du côté client soulève de questions importantes relatives à la sécurité en raison de l'accès au système de fichiers du client, cette documentation suppose que le modèle d'objet FSO est utilisé pour créer des scripts exécutés par des pages Web Internet côté serveur. Les opérations étant effectuées côté serveur, les paramètres de sécurité par défaut d'Internet Explorer n'autorisent pas l'utilisation de l'objet FileSystemObject côté client. La modification de ces paramètres induit pour l'ordinateur local un risque d'accès inopportun au système de fichiers qui peut se traduire par la destruction de l'intégrité du système de fichiers, la perte de données ou pire.

Le modèle d'objet FSO offre à vos applications côté serveur la possibilité de créer, modifier, déplacer et supprimer les dossiers, ou de détecter l'existence de dossiers particuliers et, le cas échéant, leur emplacement. Vous pouvez également lire des informations sur les dossiers, comme leur nom, leur date de création ou de dernière modification, etc.

Le modèle d'objet FSO facilite également le traitement des fichiers. Lors du traitement des fichiers, l'objectif principal consiste à stocker des données dans un format facile d'accès et efficace du point vue des ressources comme de l'espace. Vous devez pouvoir créer des fichiers, insérer, modifier et sortir (lire) les données. Parce que le stockage dans une base de données, comme Access ou SQL Server, ajoute à votre application une charge significative, le stockage dans un fichier texte ou binaire peut être la solution la plus efficace. Vous pouvez souhaiter éviter cette charge ou vos besoins d'accès aux données n'ont peut-être pas besoin de toute la fonctionnalité d'une véritable base de données.

Le modèle d'objet FSO, qui est contenu dans la bibliothèque de types Scripting (Scrrun.dll), gère la création et la manipulation des fichiers de texte par l'intermédiaire de l'objet TextStream. Bien que la création et la manipulation de fichiers binaires ne soient pas gérés pour l'instant, elles le seront bientôt.


Objets du FileSystemObject

Le modèle d'objet FileSystemObject (FSO) contient les collections et objets suivants.

Objet/Collection | Description
FileSystemObject | Objet principal. Il contient des méthodes et des propriétés qui vous permettent de créer, supprimer, interroger et plus généralement de manipuler des lecteurs, des dossiers et des fichiers. Un grand nombre des méthodes associées à cet objet dupliquent celles d'autres objets FSO ; elles sont donc fournies à titre pratique.
Drive | Objet. Il contient des méthodes et des propriétés qui vous permettent de réunir des informations relatives à un lecteur connecté au système, comme son nom de partage et sa quantité d'espace libre disponible. Notez qu'un "lecteur" n'est pas obligatoirement un disque dur ; il peut s'agir d'un lecteur de CD-ROM, d'un disque virtuel, etc. Un lecteur n'est pas obligatoirement physiquement connecté au système, il peut être connecté logiquement par l'intermédiaire du réseau.
Drives | Collection. Elle fournit la liste des lecteurs connectés au système, physiquement ou logiquement. La collection Drives comprend tous les lecteurs, quel que soit leur type. Les lecteurs à support amovible apparaissent dans cette collection même lorsqu'ils sont vides.
File | Objet. Il contient des méthodes et des propriétés qui vous permettent de créer, supprimer ou déplacer un fichier. Il vous permet également de rechercher dans le système un nom de fichier, un chemin et d'autres propriétés diverses.
Files | Collection. Elle fournit la liste des fichiers d'un dossier.
Folder | Objet. Il contient des méthodes et des propriétés qui vous permettent de créer, supprimer ou déplacer des dossiers. Il vous permet également de rechercher dans le système un nom de dossier, un chemin et d'autres propriétés diverses.
Folders | Collection. Elle fournit la liste des dossiers d'un Folder.
TextStream | Objet. Il vous permet de lire et d'écrire dans des fichiers textes.


Programmation du FileSystemObject

Pour programmer avec le modèle d'objet FileSystemObject (FSO) :

  • Utilisez la méthode CreateObject pour créer un objet FileSystemObject.
  • Utilisez la méthode appropriée sur l'objet nouvellement créé.
  • Accédez aux propriétés de l'objet.

Le modèle d'objet FSO est contenu dans la bibliothèque de types Scripting, qui se situe dans le fichier Scrrun.dll. Le fichier Scrrun.dll doit, par conséquent, figurer dans le répertoire système approprié de votre serveur Web pour pouvoir utiliser le modèle d'objet FSO.

Création d'un objet FileSystemObject

Commencez par créer un objet FileSystemObject en utilisant la méthode CreateObject. Dans VBScript, utilisez le code suivant pour créer une instance de FileSystemObject :

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Cet exemple de code montre la création d'une instance du FileSystemObject.

Dans JScript, utilisez ce code pour effectuer la même opération :

var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");

Dans ces deux exemples, Scripting est le nom de la bibliothèque de types et FileSystemObject est le nom de l'objet que nous voulons créer. Vous ne pouvez créer qu'une seule instance de l'objet FileSystemObject, quel que soit le nombre de tentatives de création.

Utilisation de la méthode appropriée

Ensuite, utilisez la méthode appropriée de l'objet FileSystemObject. Par exemple, pour créer un nouvel objet, utilisez CreateTextFile ou CreateFolder (le modèle d'objet FSO ne gère pas la création ou la suppression de lecteurs).

Pour supprimer des objets, utilisez les méthodes DeleteFile et DeleteFolder de l'objet FileSystemObject ou la méthode Delete des objets File et Folder. Vous pouvez aussi copier et déplacer des fichiers et des dossiers par l'intermédiaire des méthodes appropriées.

Remarque Certaines fonctionnalités du modèle d'objet FileSystemObject sont redondantes. Par exemple, vous pouvez copier un fichier par l'intermédiaire de la méthode CopyFile de l'objet FileSystemObject ou de la méthode Copy de l'objet File. Ces méthodes fonctionnent de la même façon. Leur présence offre une plus grande flexibilité de programmation.

Accès aux dossiers, fichiers et lecteurs existants

Pour accéder à un lecteur, à un fichier ou à un dossier existant, utilisez la méthode "get" appropriée ou l'objet FileSystemObject :

  • GetDrive
  • GetFolder
  • GetFile

Pour accéder à un fichier existant dans VBScript :

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\test.txt")

Pour effectuer la même opération dans JScript, utilisez le code ci-dessous :

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\\test.txt");

N'utilisez pas les méthodes "get" pour les objets nouvellement créés, puisque les fonctions "create" ont déjà renvoyé un descripteur vers cet objet. Par exemple, si vous créez un nouveau dossier en utilisant la méthode CreateFolder, n'utilisez pas la méthode GetFolder pour accéder à ses propriétés comme Name, Path, Size, etc. Affectez juste à une variable la fonction CreateFolder pour obtenir un descripteur vers le dossier nouvellement créé, puis accédez à ses propriétés, méthodes et événements. Pour effectuer la même opération dans VBScript, utilisez le code ci-dessous :

Sub CreateFolder
   Dim fso, fldr
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldr = fso.CreateFolder("C:\MyTest")
   Response.Write "Dossier créé: " & fldr.Name
End Sub

Pour affecter à une variable la fonction CreateFolder dans JScript, utilisez la syntaxe suivante :

function CreateFolder()
{
   var fso, fldr;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   fldr = fso.CreateFolder("C:\\MyTest");
   Response.Write("Created folder: " + fldr.Name);
}

Accès aux propriétés de l'objet

À partir du descripteur d'un objet, vous avez accès à ses propriétés. Par exemple, pour obtenir le nom d'un dossier particulier, commencez par créer une instance de l'objet, puis obtenez un descripteur vers cet objet en utilisant la méthode appropriée (dans ce cas, la méthode GetFolder puisque le dossier existe déjà).

Utilisez ce code pour obtenir un descripteur vers la méthode GetFolder dans VBScript :

Set fldr = fso.GetFolder("c:\")

Pour effectuer la même opération dans JScript, utilisez le code ci-dessous :

var fldr = fso.GetFolder("c:\\");

Vous disposez désormais d'un descripteur vers un objet Folder ; vous pouvez lire sa propriété Name. Pour effectuer la même opération dans VBScript, utilisez le code ci-dessous :

Response.Write "Le nom du dossier est: " & fldr.Name

Pour lire la valeur d'une propriété Name dans JScript, utilisez la syntaxe suivante :

Response.Write("Le nom du dossier est: " + fldr.Name);

Pour connaître la date de dernière modification d'un fichier, utilisez la syntaxe VBScript suivante :

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' Obtient un objet File à interroger.
Set f1 = fso.GetFile("c:\detlog.txt")
' Affiche les informations.
Response.Write "Dernière modification du fichier: " & f1.DateLastModified

Pour connaître l'heure de dernière modification d'un fichier dans JScript, utilisez le code ci-dessous :

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Obtient un objet File à interroger.
f1 = fso.GetFile("c:\\detlog.txt");
// Affiche les informations.
Response.Write("Dernière modification du fichier: " + f1.DateLastModified);


Utilisation des lecteurs et des dossiers

Le modèle d'objet FileSystemObject (FSO) vous permet d'utiliser dans vos programmes les lecteurs et les dossiers comme vous le faites déjà de façon interactive dans l'Explorateur de Windows. Vous pouvez copier et déplacer des dossiers, lire des informations relatives aux dossiers et aux lecteurs, etc.

Lecture des informations relatives aux lecteurs

L'objet Drive vous permet d'obtenir des informations relatives aux différents lecteurs connectés à un système physiquement ou à travers le réseau. Ses propriétés vous apportent les informations suivantes :

  • La taille totale du lecteur en octets (TotalSize, propriété).
  • L'espace disponible sur le lecteur en octets (AvailableSpace et FreeSpace, propriétés).
  • La lettre affectée au lecteur (DriveLetter, propriété).
  • Le type du lecteur, c'est-à-dire s'il est amovible, fixe, réseau, CD-ROM ou virtuel (DriveType, propriété).
  • Le numéro de série du lecteur (SerialNumber, propriété).
  • Le type de système de fichiers utilisé par le lecteur, comme FAT, FAT32, NTFS et autre (FileSystem, propriété).
  • La disponibilité d'un lecteur (IsReady, propriété).
  • Le nom du partage/ou du volume (ShareName et VolumeName, propriétés).
  • Le chemin ou le dossier racine du lecteur (Path et RootFolder, propriétés).

Observez dans l'exemple de code la mise en œuvre de ces propriétés dans le FileSystemObject.

Exemple d'utilisation de l'objet Drive

Utilisez l'objet Drive pour obtenir des informations sur un lecteur. Le code ci-dessous ne présente pas de référence à un objet Drive ; utilisez plutôt la méthode GetDrive pour obtenir une référence à un objet Drive existant (dans le cas présent drv).

L'exemple ci-dessous illustre l'utilisation de l'objet Drive dans VBScript :

Sub ShowDriveInfo(drvPath)
   Dim fso, drv, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & drv.VolumeName & "<br>"
   s = s & "Espace total: " & FormatNumber(drv.TotalSize / 1024, 0)
   s = s & " Ko" & "<br>"
   s = s & "Espace disponible: " & FormatNumber(drv.FreeSpace / 1024, 0)
   s = s & " Ko" & "<br>"
   Response.Write s
End Sub

Le code suivant illustre la même fonctionnalité dans JScript :

function ShowDriveInfo1(drvPath)
{
   var fso, drv, s ="";
   fso = new ActiveXObject("Scripting.FileSystemObject");
   drv = fso.GetDrive(fso.GetDriveName(drvPath));
   s += "Lecteur " + drvPath.toUpperCase()+ " - ";
   s += drv.VolumeName + "<br>";
   s += "Espace total: " + drv.TotalSize / 1024;
   s += " Ko" + "<br>";
   s += "Espace disponible: " + drv.FreeSpace / 1024;
   s += " Ko" + "<br>";
   Response.Write(s);
}

Utilisation des dossiers

Le tableau ci-dessous présente des opérations sur les dossiers courants et les méthodes correspondantes.

Tâche | Méthode
Créer un dossier. | FileSystemObject.CreateFolder
Supprimer un dossier. | Folder.Delete ou FileSystemObject.DeleteFolder
Déplacer un dossier. | Folder.Move ou FileSystemObject.MoveFolder
Copier un dossier. | Folder.Copy ou FileSystemObject.CopyFolder
Extraire le nom d'un dossier. | Folder.Name
Déterminer l'existence d'un dossier sur un lecteur. | FileSystemObject.FolderExists
Obtenir une instance d'un objet Folder existant. | FileSystemObject.GetFolder
Déterminer le nom du dossier parent d'un dossier. | FileSystemObject.GetParentFolderName
Déterminer le chemin des dossiers systèmes. | FileSystemObject.GetSpecialFolder

Observez dans l'exemple de code la mise en œuvre de ces méthodes et propriétés dans le FileSystemObject.

L'exemple ci-dessous illustre l'utilisation des objets Folder et FileSystemObject pour manipuler les dossiers et obtenir des informations les concernant dans VBScript :

Sub ShowFolderInfo()
   Dim fso, fldr, s
   ' Obtient une instance du FileSystemObject.
   Set fso = CreateObject("Scripting.FileSystemObject")
   ' Obtient l'objet Drive.
   Set fldr = fso.GetFolder("c:")
   ' Affiche le nom du dossier parent.
   Response.Write "Le nom du dossier parent est: " & fldr & "<br>"
   ' Affiche le nom du lecteur.
   Response.Write "Résidant sur le lecteur " & fldr.Drive & "<br>"
   ' Affiche le nom de la racine.
   If fldr.IsRootFolder = True Then
      Response.Write "Ceci est le dossier racine." & ""<br>"<br>"
   Else
      Response.Write "Ce dossier n'est pas un dossier racine." & "<br><br>"
   End If
   ' Crée un nouveau dossier avec l'objet FileSystemObject.
   fso.CreateFolder ("C:\Bogus")
   Response.Write "Dossier C:\Bogus créé" & "<br>"
   ' Affiche le nom de base du dossier.
   Response.Write "Nom de base = " & fso.GetBaseName("c:\bogus") & "<br>"
   ' Supprime le dossier nouvellement créé.
   fso.DeleteFolder ("C:\Bogus")
   Response.Write "Dossier C:\Bogus supprimé" & "<br>"
End Sub

Cet exemple illustre l'utilisation des objets Folder et FileSystemObject dans JScript :

function ShowFolderInfo()
{
   var fso, fldr, s = "";
   // Obtient une instance du FileSystemObject.
   fso = new ActiveXObject("Scripting.FileSystemObject");
   // Obtient l'objet Drive.
   fldr = fso.GetFolder("c:");
   // Affiche le nom du dossier parent.
   Response.Write("Le nom du dossier parent est: " + fldr + "<br>");
   // Affiche le nom du lecteur.
   Response.Write("Résidant sur le lecteur " + fldr.Drive + "<br>");
   // Affiche le nom de la racine.
   if (fldr.IsRootFolder)
     Response.Write("Ceci est le dossier racine.");
   else
     Response.Write("Ce dossier n'est pas un dossier racine.");
  Response.Write("<br><br>");
   // Crée un nouveau dossier avec l'objet FileSystemObject.
   fso.CreateFolder ("C:\\Bogus");
   Response.Write("Dossier C:\\Bogus créé" + "<br>");
   // Affiche le nom de base du dossier.
   Response.Write("Nom de base = " + fso.GetBaseName("c:\\bogus") + "<br>");
   // Supprime le dossier nouvellement créé.
   fso.DeleteFolder ("C:\\Bogus");
   Response.Write("Dossier C:\\Bogus supprimé" + "<br>");
}


Utilisation des fichiers

Les manipulations de fichiers se divisent en deux catégories principales :

  • La création, l'ajout ou la suppression de données et la lecture de fichiers.
  • Le déplacement, la copie et la suppression de fichiers.

La création de fichiers

Trois moyens différents permettent de créer un fichier de texte vide (parfois désigné comme "flux de texte").

Le premier moyen est l'utilisation de la méthode CreateTextFile. L'exemple ci-dessous illustre la création d'un fichier de texte à l'aide de cette méthode dans VBScript :

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)

Pour utiliser cette méthode dans JScript, utilisez le code suivant :

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);

Le second moyen de créer un fichier de texte consiste à utiliser la méthode OpenTextFile de l'objet FileSystemObject avec l'indicateur ForWriting. Dans VBScript, le code ressemble à ceci :

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)

Pour créer un fichier de texte en utilisant cette méthode dans JScript, utilisez le code suivant :

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);

Le troisième moyen de créer un fichier de texte consiste à utiliser la méthode OpenAsTextStream avec l'indicateur ForWriting. Pour cette méthode, utilisez le code ci-dessous dans VBScript :

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\test1.txt")
Set f1 = fso.GetFile("c:\test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)

Dans JScript, utilisez le code de l'exemple ci-dessous :

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);

Ajout de données dans le fichier

Une fois le fichier créé, procédez ainsi pour ajouter des données au fichier :

Ouvrez le fichier.

Écrivez les données.

Fermez le fichier.

Pour ouvrir un fichier existant, utilisez soit la méthode OpenTextFile de l'objet FileSystemObject soit la méthode OpenAsTextStream de l'objet File.

Pour écrire des données dans le fichier de texte, utilisez les méthodes Write, WriteLine ou WriteBlankLines de l'objet TextStream, en fonction des tâches répertoriées dans le tableau ci-dessous.

Tâche | Méthode
Écrire des données dans un fichier de texte ouvert sans caractère de nouvelle ligne final. | Write
Écrire des données dans un fichier de texte ouvert avec un caractère de nouvelle ligne final. | WriteLine
Écrire une ou plusieurs lignes blanches dans un fichier de texte ouvert. | WriteBlankLines

Pour fermer un fichier ouvert, utilisez la méthode Close de l'objet TextStream.

Remarque Le caractère de saut de ligne contient un ou plusieurs caractères (en fonction du système d'exploitation) qui avancent le curseur au début de la ligne d'après (retour chariot/saut de ligne). Tenez compte du fait que certaines chaînes se terminent déjà par ce type de caractères non imprimables.

L'exemple VBScript suivant montre comment ouvrir un fichier, utiliser les trois méthodes d'écritures pour ajouter des données au fichier, puis fermer le fichier :

Sub CreateFile()
   Dim fso, tf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set tf = fso.CreateTextFile("c:\testfile.txt", True)
   ' Écrire une ligne terminée par un caractère de nouvelle ligne.
   tf.WriteLine("Testing 1, 2, 3.")
   ' Écrire trois caractères de nouvelle ligne dans le fichier.
   tf.WriteBlankLines(3)
   ' Écrire une ligne.
   tf.Write ("Ceci est un essai.")
   tf.Close
End Sub

Cet exemple illustre l'utilisation de ces trois méthodes dans JScript :

function CreateFile()
{
   var fso, tf;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   tf = fso.CreateTextFile("c:\\testfile.txt", true);
   // Écrit une ligne terminée par un caractère de nouvelle ligne.
   tf.WriteLine("Testing 1, 2, 3.") ;
   // Écrit trois caractères de nouvelle ligne dans le fichier.
   tf.WriteBlankLines(3) ;
   // Écrit une ligne.
   tf.Write ("Ceci est un essai.");
   tf.Close();
}

Lecture de fichiers

Pour lire des données d'un fichier de texte, utilisez les méthodes Read, ReadLine ou ReadAll de l'objet TextStream. Le tableau suivant présente les méthodes à utiliser en fonction des tâches à accomplir.

Tâche | Méthode
Lire un nombre spécifié de caractères d'un fichier. | Read
Lire une ligne entière (jusqu'au caractère de nouvelle ligne non compris). | ReadLine
Lire le contenu entier d'un fichier de texte. | ReadAll

Si vous utilisez la méthode Read ou ReadLine et voulez accéder directement à un emplacement de données particulier, utilisez la méthode Skip ou SkipLine. Le texte issu des méthodes de lecture est stocké dans une chaîne qui peut être affichée dans un contrôle, analysé par des fonctions de chaîne (comme Left, Right et Mid), concaténé, etc.

L'exemple VBScript suivant montre comment ouvrir un fichier, écrire puis lire :

Sub ReadFiles
   Dim fso, f1, ts, s
   Const ForReading = 1
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
   ' Écrire une ligne.
   Response.Write "Écriture du fichier <br>"
   f1.WriteLine "Bonjour"
   f1.WriteBlankLines(1)
   f1.Close
   ' Lire le contenu du fichier.
   Response.Write "Lecture du fichier <br>"
   Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)
   s = ts.ReadLine
   Response.Write "Contenu du fichier = '" & s & "'"
   ts.Close
End Sub

Ce code effectue les mêmes opérations dans JScript :

function ReadFiles()
{
   var fso, f1, ts, s;
   var ForReading = 1;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\testfile.txt", true);
   // Écrire une ligne.
   Response.Write("Écriture du fichier <br>");
   f1.WriteLine("Bonjour");
   f1.WriteBlankLines(1);
   f1.Close();
   // Lire le contenu du fichier.
   Response.Write("Lecture du fichier <br>");
   ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   s = ts.ReadLine();
   Response.Write("Contenu du fichier = '" + s + "'");
   ts.Close();
}

Déplacement, copie et suppression de fichiers

Le modèle d'objet FSO offre deux méthodes pour chacune des opérations de déplacement, copie et suppression de fichier, comme le présente le tableau suivant.

Tâche | Méthode
Déplacer un fichier | File.Move ou FileSystemObject.MoveFile
Copier un fichier | File.Copy ou FileSystemObject.CopyFile
Supprimer un fichier | File.Delete ou FileSystemObject.DeleteFile

L'exemple VBScript suivant crée un fichier de texte dans le répertoire racine du lecteur C, y écrit des informations, le déplace dans un répertoire nommé \tmp, le copie dans un répertoire nommé \temp puis supprime les deux copies des deux répertoires.

Pour exécuter cet exemple, créez des répertoires nommés \tmp et \temp sous la racine du lecteur C:

Sub ManipFiles
   Dim fso, f1, f2, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
   Response.Write "Écriture du fichier <br>"
   ' Écrire une ligne.
   f1.Write ("Ceci est un essai.")
   ' Fermeture du fichier en écriture.
   f1.Close
   Response.Write "Déplacement du fichier vers c:\tmp <br>"
   ' Obtenir un descripteur vers le fichier sous la racine de C:\.
   Set f2 = fso.GetFile("c:\testfile.txt")
   ' Déplacer le fichier vers le répertoire /tmp.
   f2.Move ("c:\tmp\testfile.txt")
   Response.Write "Copie du fichier vers c:\temp <br>"
   ' Copier le fichier vers \temp.
   f2.Copy ("c:\temp\testfile.txt")
   Response.Write "Suppression des fichiers <br>"
   ' Obtenir des descripteurs vers l'emplacement actuel des fichiers.
   Set f2 = fso.GetFile("c:\tmp\testfile.txt")
   Set f3 = fso.GetFile("c:\temp\testfile.txt")
   ' Supprimer les fichiers.
   f2.Delete
   f3.Delete
   Response.Write "Terminé!"
End Sub

Le code suivant vous présente la même opération dans JScript :

function ManipFiles()
{
   var fso, f1, f2, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\testfile.txt", true);
   Response.Write("Écriture du fichier <br>");
   // Écrire une ligne.
   f1.Write("Ceci est un essai.");
   // Fermeture du fichier en écriture.
   f1.Close();
   Response.Write("Déplacement du fichier vers c:\\tmp <br>");
   // Obtenir un descripteur vers le fichier sous la racine de C:\.
   f2 = fso.GetFile("c:\\testfile.txt");
   // Déplacer le fichier vers le répertoire /tmp.
   f2.Move ("c:\\tmp\\testfile.txt");
   Response.Write("Copie du fichier vers c:\\temp <br>");
   // Copier le fichier vers \temp.
   f2.Copy ("c:\\temp\\testfile.txt");
   Response.Write("Suppression des fichiers <br>");
   // Obtenir des descripteurs vers l'emplacement actuel des fichiers.
   f2 = fso.GetFile("c:\\tmp\\testfile.txt");
   f3 = fso.GetFile("c:\\temp\\testfile.txt");
   // Supprimer les fichiers.
   f2.Delete();
   f3.Delete();
   Response.Write("Terminé!");
}


Exemple de code du FileSystemObject

L'exemple de code décrit dans cette section offre un exemple réaliste des nombreuses fonctionnalités offertes par le modèle d'objet FileSystemObject. Ce code illustre l'emploi de ces fonctionnalités du modèle d'objet ainsi que leur mise en œuvre de façon efficace dans votre propre code.

Remarquez que ce code est relativement générique et que des adaptations mineures seront nécessaires pour qu'il puisse s'exécuter effectivement sur votre machine. Ces modifications sont requises en raison des différentes mises en œuvres des entrées et des sorties vers l'utilisateur entre les pages ASP et l'hôte Windows Scripting Host.

Pour exécuter ce code sur une page ASP, utilisez la procédure suivante :

Créez une page Web standard avec une extension .asp.

Copiez l'exemple de code suivant dans ce fichier, encadré de balises &ltBODY>...</BODY>.

Encadrez tout le code entre les balises <%...%>.

Déplacez l'instruction Option Explicit de sa position actuelle dans le code vers le haut de votre page HTML, avant la balise d'ouverture <HTML>.

Placez des balises <%...%> autour de l'instruction Option Explicit pour qu'elle soit exécutée du côté serveur.

Ajoutez le code suivant à la fin de l'exemple de code :

Sub Print(x)
   Response.Write "<PRE>&ltFONT FACE=""Courier New"" SIZE=""1"">"
   Response.Write x
   Response.Write "</FONT></PRE>"
End Sub
Main

Le code ci-dessus ajoute une procédure d'impression qui s'exécute du côté serveur mais affiche ses résultats du côté client. Pour exécuter ce code sur Windows Scripting Host, ajoutez le code suivant à la fin de l'exemple de code :

Sub Print(x)
   WScript.Echo x
End Sub
Main

Le code est contenu dans la section suivante :

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Exemple de code du FileSystemObject
'
' Copyright 1998 Microsoft Corporation.   Tous droits réservés.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Remarques sur la qualité du code :
' 1) Ce code effectue de nombreuses manipulations de chaînes en
'    concaténant de courtes chaînes à l'aide de l'opérateur "&".
'    En raison du coût que représentent les opérations de concaténation,
'    l'écriture de ce code selon cette méthode n'est pas très efficace.
'    Cette méthode facilite néanmoins la maintenance et, dans le cas
     présent, les nombreuses opérations disques effectuées sont de toute
     façon beaucoup plus lentes que les opérations de concaténation de
     chaînes. N'oubliez pas qu'il s'agit de code de démonstration, et non
'    pas de production.
'
' 2) L'option "Option Explicit" permet d'accélérer légèrement
'    l'accès aux variables. Elle permet également d'éviter
'    certaines erreurs, notamment les fautes de frappes telles
'    que DriveTypeCDORM à la place de DriveTypeCDROM.
'
' 3) Ce code ne comprend pas de gestion d'erreur afin de simplifier
'    sa lecture. Malgré les précautions prises afin qu'il
'    fonctionne dans les cas courants, les systèmes de fichiers
'    restent imprévisibles. En production, utilisez On Error
'    Resume Next et l'objet Err afin d'intercepter les erreurs
'    éventuelles.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Variables globales pratiques
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim TabStop
Dim NewLine

Const TestDrive = "C"
Const TestFilePath = "C:\Test"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes renvoyées par Drive.DriveType
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const DriveTypeRemovable = 1
Const DriveTypeFixed = 2
Const DriveTypeNetwork = 3
Const DriveTypeCDROM = 4
Const DriveTypeRAMDisk = 5

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes renvoyées par File.Attributes
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const FileAttrNormal   = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes d'ouverture de fichiers
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const OpenFileForReading = 1
Const OpenFileForWriting = 2
Const OpenFileForAppending = 8

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ShowDriveType
' Objet :
'   Génère une chaîne décrivant le type d'un objet Drive donné.
' Présente
' - Drive.DriveType
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowDriveType(Drive)

   Dim S

   Select Case Drive.DriveType
   Case DriveTypeRemovable
      S = "Amovible"
   Case DriveTypeFixed
      S = "Fixe"
   Case DriveTypeNetwork
      S = "Réseau"
   Case DriveTypeCDROM
      S = "CD-ROM"
   Case DriveTypeRAMDisk
      S = "Disque virtuel"
   Case Else
      S = "Inconnu"
   End Select

   ShowDriveType = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ShowFileAttr
' Objet :
'   Génère une chaîne décrivant les attributs d'un fichier ou d'un
    dossier.
' Présente
' - File.Attributes
' - Folder.Attributes
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowFileAttr(File) ' File représente un fichier ou un dossier

   Dim S
   Dim Attr

   Attr = File.Attributes

   If Attr = 0 Then
      ShowFileAttr = "Normal"
      Exit Function
   End If

   If Attr And FileAttrDirectory  Then S = S & "Répertoire "
   If Attr And FileAttrReadOnly   Then S = S & "En lecture seule "
   If Attr And FileAttrHidden     Then S = S & "Caché "
   If Attr And FileAttrSystem     Then S = S & "Système "
   If Attr And FileAttrVolume     Then S = S & "Volume "
   If Attr And FileAttrArchive    Then S = S & "Archive "
   If Attr And FileAttrAlias      Then S = S & "Alias "
   If Attr And FileAttrCompressed Then S = S & "Compressé "

   ShowFileAttr = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateDriveInformation
' Objet :
'    Génère une chaîne décrivant l'état actuel des lecteurs disponibles.
' Présente
' - FileSystemObject.Drives
' - L'itération dans la collection Drives
' - Drives.Count
' - Drive.AvailableSpace
' - Drive.DriveLetter
' - Drive.DriveType
' - Drive.FileSystem
' - Drive.FreeSpace
' - Drive.IsReady
' - Drive.Path
' - Drive.SerialNumber
' - Drive.ShareName
' - Drive.TotalSize
' - Drive.VolumeName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateDriveInformation(FSO)

   Dim Drives
   Dim Drive
   Dim S

   Set Drives = FSO.Drives
   S = "Nombre de lecteurs:" & TabStop & Drives.Count & NewLine & NewLine

   ' Construit la première ligne du compte-rendu.
   S = S & String(2, TabStop) & "Lecteur"
   S = S & String(3, TabStop) & "Fichier"
   S = S & TabStop & "Total"
   S = S & TabStop & "Libre"
   S = S & TabStop & "Disponible"
   S = S & TabStop & "Série" & NewLine

   ' Construit la seconde ligne de l'état.
   S = S & "Lettre"
   S = S & TabStop & "Chemin"
   S = S & TabStop & "Type"
   S = S & TabStop & "Prêt?"
   S = S & TabStop & "Nom"
   S = S & TabStop & "Système"
   S = S & TabStop & "Espace"
   S = S & TabStop & "Espace"
   S = S & TabStop & "Espace"
   S = S & TabStop & "Numéro" & NewLine

   ' Ligne de séparation.
   S = S & String(105, "-") & NewLine

   For Each Drive In Drives
      S = S & Drive.DriveLetter
      S = S & TabStop & Drive.Path
      S = S & TabStop & ShowDriveType(Drive)
      S = S & TabStop & Drive.IsReady

      If Drive.IsReady Then
          If DriveTypeNetwork = Drive.DriveType Then
            S = S & TabStop & Drive.ShareName
         Else
            S = S & TabStop & Drive.VolumeName
         End If
         S = S & TabStop & Drive.FileSystem
         S = S & TabStop & Drive.TotalSize
         S = S & TabStop & Drive.FreeSpace
         S = S & TabStop & Drive.AvailableSpace
         S = S & TabStop & Hex(Drive.SerialNumber)
      End If

      S = S & NewLine

   Next

   GenerateDriveInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateFileInformation
' Objet :
'    Génère une chaîne décrivant l'état actuel d'un fichier.
' Présente
' - File.Path
' - File.Name
' - File.Type
' - File.DateCreated
' - File.DateLastAccessed
' - File.DateLastModified
' - File.Size
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFileInformation(File)

   Dim S

   S = NewLine & "Chemin:" & TabStop & File.Path
   S = S & NewLine & "Nom:" & TabStop & File.Name
   S = S & NewLine & "Type:" & TabStop & File.Type
   S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(File)
   S = S & NewLine & "Créé le:" & TabStop & File.DateCreated
   S = S & NewLine & "Accès le:" & TabStop & File.DateLastAccessed
   S = S & NewLine & "Modif:" & TabStop & File.DateLastModified
   S = S & NewLine & "Taille" & TabStop & File.Size & NewLine

   GenerateFileInformation = S

End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateFolderInformation
' Objet :
'    Génère une chaîne décrivant l'état actuel d'un dossier.
' Présente
' - Folder.Path
' - Folder.Name
' - Folder.DateCreated
' - Folder.DateLastAccessed
' - Folder.DateLastModified
' - Folder.Size
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFolderInformation(Folder)

   Dim S

   S = "Chemin:" & TabStop & Folder.Path
   S = S & NewLine & "Nom:" & TabStop & Folder.Name
   S = S & NewLine & "Attribs:" & TabStop & ShowFileAttr(Folder)
   S = S & NewLine & "Créé le:" & TabStop & Folder.DateCreated
   S = S & NewLine & "Accès le:" & TabStop & Folder.DateLastAccessed
   S = S & NewLine & "Modif:" & TabStop & Folder.DateLastModified
   S = S & NewLine & "Taille:" & TabStop & Folder.Size & NewLine

   GenerateFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateAllFolderInformation
' Objet :
'    Génère une chaîne décrivant l'état actuel d'un
'    dossier et de ses fichiers et sous-dossiers.
' Présente
' - Folder.Path
' - Folder.SubFolders
' - Folders.Count
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GenerateAllFolderInformation(Folder)

   Dim S
   Dim SubFolders
   Dim SubFolder
   Dim Files
   Dim File

   S = "Dossier:" & TabStop & Folder.Path & NewLine & NewLine
   Set Files = Folder.Files

   If 1 = Files.Count Then
      S = S & "Il y a 1 fichier" & NewLine
   Else
      S = S & "Il y a " & Files.Count & " fichiers" & NewLine
   End If

   If Files.Count <> 0 Then
      For Each File In Files
         S = S & GenerateFileInformation(File)
      Next
   End If

   Set SubFolders = Folder.SubFolders

   If 1 = SubFolders.Count Then
      S = S & NewLine & "Il y a 1 sous-dossier" & NewLine & NewLine
   Else
      S = S & NewLine & "Il y a " & SubFolders.Count & " sous-dossiers" _
      NewLine & NewLine
   End If

   If SubFolders.Count <> 0 Then
      For Each SubFolder In SubFolders
         S = S & GenerateFolderInformation(SubFolder)
      Next
      S = S & NewLine
      For Each SubFolder In SubFolders
         S = S & GenerateAllFolderInformation(SubFolder)
      Next
   End If

   GenerateAllFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateTestInformation
' Objet :
'    Génère une chaîne décrivant l'état actuel du dossier C:\Test
'    et de ses fichiers et sous-dossiers.
' Présente
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.GetFolder
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateTestInformation(FSO)

   Dim TestFolder
   Dim S

   If Not FSO.DriveExists(TestDrive) Then Exit Function
   If Not FSO.FolderExists(TestFilePath) Then Exit Function

   Set TestFolder = FSO.GetFolder(TestFilePath)

   GenerateTestInformation = GenerateAllFolderInformation(TestFolder)

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' DeleteTestDirectory
' Objet :
'    Nettoie le répertoire de test.
' Présente
' - FileSystemObject.GetFolder
' - FileSystemObject.DeleteFile
' - FileSystemObject.DeleteFolder
' - Folder.Delete
' - File.Delete
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DeleteTestDirectory(FSO)

   Dim TestFolder
   Dim SubFolder
   Dim File

   ' Deux façons de supprimer un fichier:

   FSO.DeleteFile(TestFilePath & "\Beatles\OctopusGarden.txt")

   Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
   File.Delete

   ' Deux façons de supprimer un dossier:
   FSO.DeleteFolder(TestFilePath & "\Beatles")
   FSO.DeleteFile(TestFilePath & "\ReadMe.txt")
   Set TestFolder = FSO.GetFolder(TestFilePath)
   TestFolder.Delete

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' CreateLyrics
' Objet :
'    Crée deux fichiers texte dans un dossier.
' Présente
' - FileSystemObject.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Write
' - TextStream.WriteBlankLines
' - TextStream.Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub CreateLyrics(Folder)

   Dim TextStream

   Set TextStream = Folder.CreateTextFile("OctopusGarden.txt")

   ' Remarquez que ceci n'ajoute pas de saut de ligne dans le fichier.
   TextStream.Write("Octopus' Garden ")
   TextStream.WriteLine("(par Ringo Starr)")
   TextStream.WriteBlankLines(1)
   TextStream.WriteLine("I'd like to be under the sea in an octopus' garden in the shade,")
   TextStream.WriteLine("He'd let us in, knows where we've been -- in his octopus' garden in the shade.")
   TextStream.WriteBlankLines(2)

   TextStream.Close

   Set TextStream = Folder.CreateTextFile("BathroomWindow.txt")
   TextStream.WriteLine("She Came In Through The Bathroom Window (by Lennon/McCartney)")
   TextStream.WriteLine("")
   TextStream.WriteLine("She came in through the bathroom window protected by a silver spoon")
   TextStream.WriteLine("But now she sucks her thumb and wanders by the banks of her own lagoon")
   TextStream.WriteBlankLines(2)
   TextStream.Close

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GetLyrics
' Objet :
'    Affiche le contenu des fichiers des paroles.
' Présente
'  - FileSystemObject.OpenTextFile
'  - FileSystemObject.GetFile
'  - TextStream.ReadAll
'  - TextStream.Close
'  - File.OpenAsTextStream
'  - TextStream.AtEndOfStream
'  - TextStream.ReadLine
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GetLyrics(FSO)

   Dim TextStream
   Dim S
   Dim File

   ' Il existe plusieurs moyens d'ouvrir un fichier texte et
   ' plusieurs moyens de lire les données d'un fichier.
   ' Voici deux façons d'effectuer chaque opération:

   Set TextStream = FSO.OpenTextFile(TestFilePath & "\Beatles\OctopusGarden.txt", OpenFileForReading)

   S = TextStream.ReadAll & NewLine & NewLine
   TextStream.Close

   Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
   Set TextStream = File.OpenAsTextStream(OpenFileForReading)
   Do    While Not TextStream.AtEndOfStream
      S = S & TextStream.ReadLine & NewLine
   Loop
   TextStream.Close

   GetLyrics = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' BuildTestDirectory
' Objet :
'    Crée une hiérarchie de répertoires pour exposer le FileSystemObject.
'    Nous construirons une hiérarchie dans l'ordre suivant :
'       C:\Test
'       C:\Test\ReadMe.txt
'       C:\Test\Beatles
'       C:\Test\Beatles\OctopusGarden.txt
'       C:\Test\Beatles\BathroomWindow.txt
' Présente
'  - FileSystemObject.DriveExists
'  - FileSystemObject.FolderExists
'  - FileSystemObject.CreateFolder
'  - FileSystemObject.CreateTextFile
'  - Folders.Add
'  - Folder.CreateTextFile
'  - TextStream.WriteLine
'  - TextStream.Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function BuildTestDirectory(FSO)

   Dim TestFolder
   Dim SubFolders
   Dim SubFolder
   Dim TextStream

   ' Quitte si (a) le lecteur n'existe pas ou, (b) si le répertoire
   ' construit existe déjà.

   If Not FSO.DriveExists(TestDrive) Then
      BuildTestDirectory = False
      Exit Function
   End If

   If FSO.FolderExists(TestFilePath) Then
      BuildTestDirectory = False
      Exit Function
   End If

   Set TestFolder = FSO.CreateFolder(TestFilePath)

   Set TextStream = FSO.CreateTextFile(TestFilePath & "\ReadMe.txt")
   TextStream.WriteLine("Ma collection de paroles de chansons")
   TextStream.Close

   Set SubFolders = TestFolder.SubFolders
   Set SubFolder = SubFolders.Add("Beatles")
   CreateLyrics SubFolder
   BuildTestDirectory = True

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Routine principale
' Elle commence par créer un répertoire de test avec des sous-dossiers
' et des fichiers. Ensuite, elle affiche des informations relatives aux
' lecteurs de disque disponibles et au répertoire de test, puis elle
' efface tout.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Main

   Dim FSO

   ' Définit les données globales.
   TabStop = Chr(9)
   NewLine = Chr(10)

   Set FSO = CreateObject("Scripting.FileSystemObject")

   If Not BuildTestDirectory(FSO) Then
      Print "Le répertoire de test existe déjà ou ne peut pas être créé.   Impossible de continuer."
      Exit Sub
   End If

   Print GenerateDriveInformation(FSO) & NewLine & NewLine
   Print GenerateTestInformation(FSO) & NewLine & NewLine
   Print GetLyrics(FSO) & NewLine & NewLine
   DeleteTestDirectory(FSO)

End Sub


Référence d'exécution VBScript

Éditions Visual Basic Scripting

Référence d'exécution Scripting

Caractéristiques

Constantes

Liste des mots clés

Méthodes

Objets

Propriétés

Bienvenue dans la référence d'exécution Scripting

Ces informations vous aideront à découvrir les divers composants de la référence d'exécution Scripting.

Chaque partie de la référence d'exécution Scripting est classée par ordre alphabétique dans la liste des mots clés. Si vous vous intéressez à une catégorie bien précise, celle des objets par exemple, cliquez sur l'intitulé correspondant et vous verrez uniquement les objets d'exécution Scripting.

Cliquez sur un intitulé de gauche pour afficher la liste des éléments contenus dans cette catégorie. À partir de cette liste, sélectionnez la rubrique souhaitée. Une fois la rubrique affichée, vous pourrez facilement naviguer vers d'autres rubriques

Naviguez dans les différentes sections composant la référence d'exécution Scripting. Vous constaterez la richesse de la référence d'exécution Scripting.

Caractéristiques | Description
Caractéristiques d'exécution de Microsoft Scripting | Liste des caractéristiques actuellement prises en charge par la référence d'exécution Microsoft Scripting.
Élément de langage | Description
Add, méthode (Dictionary) | Ajoute une paire clé/élément à un objet Dictionary.
Add, méthode (Folders) | Ajoute un nouvel élément Folder à une collection Folders.
AtEndOfLine, propriété | Renvoie True si le pointeur de fichier précède immédiatement le marqueur de fin de ligne dans un fichier TextStream ; False dans le cas contraire
AtEndOfStream, propriété | Renvoie True si le pointeur du fichier se trouve à la fin d'un fichier TextStream ; False dans le cas contraire.
Attributes, propriété | Définit ou renvoie les attributs de fichiers ou de dossiers.
AvailableSpace, propriété | Renvoie la quantité d'espace libre disponible pour un utilisateur sur le lecteur ou le partage réseau.
BuildPath, méthode | Ajoute un nom à un chemin existant.
Close, méthode | Ferme un fichier TextStream ouvert.
Column, propriété | Renvoie le numéro de colonne de la position de caractère en cours dans un fichier TextStream.
CompareMode, propriété | Définit et renvoie le mode de comparaison pour comparer les clés de chaîne dans un objet Dictionary.
Copy, méthode | Copie un fichier ou un dossier spécifié d'un emplacement vers un autre.
CopyFile, méthode | Copie un ou plusieurs fichiers d'un emplacement vers un autre.
CopyFolder, méthode | Copie récursivement un dossier d'un emplacement vers un autre.
Count, propriété | Renvoie le nombre d'éléments d'une collection ou d'un objet Dictionary.
CreateFolder, méthode | Crée un dossier.
CreateTextFile, méthode | Crée un nom de fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire ou y écrire.
DateCreated, propriété | Renvoie la date et l'heure de création du dossier ou du fichier spécifié.
DateLastAccessed, propriété | Renvoie la date et l'heure à laquelle on a accédé au fichier ou au dossier spécifié pour la dernière fois.
DateLastModified, propriété | Renvoie la date et l'heure à laquelle le fichier ou le dossier spécifié a été modifié pour la dernière fois.
Delete, méthode | Supprime un fichier ou un dossier spécifié.
DeleteFile, méthode | Supprime un fichier spécifié.
DeleteFolder, méthode | Supprime un dossier spécifié et son contenu.
Dictionary, objet | Objet stockant des paires clé de données/élément.
Drive, objet | Donne accès aux propriétés d'un lecteur de disque ou d'un partage réseau spécifié.
Drive, propriété | Renvoie la lettre du lecteur où réside le dossier ou le fichier spécifié.
DriveExists, méthode | Renvoie la valeur True si le lecteur spécifié existe, False dans le cas contraire.
DriveLetter, propriété | Renvoie la lettre d'un lecteur physique local ou d'un partage réseau.
Drives, collection | Collection en lecture seule de tous les lecteurs disponibles.
Drives, propriété | Renvoie une collection Drives constituée de tous les objets Drive disponibles sur la machine locale.
DriveType, constantes | Définissent les différents types de lecteurs disponibles sur l'ordinateur hôte, tels que les lecteurs fixes, amovibles, de CD-ROM, etc.
DriveType, propriété | Renvoie une valeur indiquant le type du lecteur spécifié.
Exists, méthode | Renvoie la valeur True si une clé spécifiée existe dans l'objet Dictionary. La valeur False est renvoyée dans le cas contraire.
Attributs de fichier, constantes | Définissent les différents attributs de fichier (Caché, Lecture seule, etc).
Entrée/Sortie de fichier, constantes | Définit des constantes utilisées avec l'entrée et la sortie de fichier.
FileExists, méthode | Renvoie la valeur True si un fichier spécifié existe La valeur False est renvoyée dans le cas contraire.
File, objet | Donne accès aux propriétés d'un fichier.
Files, collection | Collection de tous les objets File d'un dossier.
Files, propriété | Renvoie une collection Files constituée de tous les objets File contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.
FileSystemObject, objet | Procure un accès au système de fichier d'un ordinateur.
FileSystemObject, constantes | Liste des constantes pour l'objet File System Automation.
FileSystem, propriété | Renvoie le type de système de fichiers utilisé pour le lecteur spécifié.
Folder, objet | Donne accès aux propriétés d'un dossier.
Folders, collection | Collection de tous les objets Folder contenus dans un objet Folder.
FolderExists, méthode | Renvoie la valeur True si le dossier spécifié existe et la valeur False dans le cas contraire.
FreeSpace, propriété | Renvoie la quantité d'espace disponible pour un utilisateur sur le lecteur ou le partage réseau spécifié.
GetAbsolutePathName, méthode | Renvoie un chemin complet et non ambigu à partir d'une spécification de chemin fournie.
GetBaseName, méthode | Renvoie une chaîne contenant le nom de base (sans extension) du fichier ou du dossier dans une spécification de chemin fournie.
GetDrive, méthode | Renvoie un objet Drive correspondant au lecteur figurant dans un chemin spécifié.
GetDriveName, méthode | Renvoie une chaîne contenant le nom du lecteur pour un chemin spécifié.
GetExtensionName, méthode | Renvoie une chaîne contenant le nom de l'extension du dernier composant d'un chemin.
GetFile, méthode | Renvoie un objet File correspondant au fichier dans un chemin spécifié.
GetFileName, méthode | Renvoie le dernier nom de fichier ou dossier d'un chemin spécifié qui ne fait pas partie de la spécification de lecteur.
GetFolder, méthode | Renvoie un objet Folder correspondant au dossier d'un chemin spécifié.
GetParentFolderName, méthode | Renvoie une chaîne contenant le nom du dossier parent du dernier fichier ou dossier dans un chemin spécifié.
GetSpecialFolder, méthode | Renvoie le dossier spécial spécifié.
GetTempName, méthode | Renvoie le nom de fichier ou de dossier temporaire généré de façon aléatoire.
IsReady, propriété | Renvoie la valeur True si le lecteur spécifié est prêt et la valeur False dans le cas contraire.
IsRootFolder, propriété | Renvoie la valeur True si le dossier spécifié est le dossier racine et la valeur False dans le cas contraire.
Item, propriété | Définit ou renvoie un élément pour une clé spécifiée dans un objet Dictionary.
Items, méthode | Renvoie un tableau contenant tous les éléments d'un objet Dictionary.
Key, propriété | Définit un argument key dans un objet Dictionary.
Keys, méthode | Renvoie un tableau contenant toutes les clés existantes dans un objet Dictionary.
Line, propriété | Renvoie le numéro de ligne en cours dans un fichier TextStream.
Move, méthode | Change l'emplacement d'un fichier ou d'un dossier spécifié.
MoveFile, méthode | Change l'emplacement d'un ou plusieurs fichiers.
MoveFolder, méthode | Change l'emplacement d'un ou plusieurs dossiers.
Name, propriété | Définit ou renvoie le nom d'un fichier ou d'un dossier spécifié.
OpenAsTextStream, méthode | Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.
OpenTextFile, méthode | Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.
ParentFolder, propriété | Renvoie l'objet dossier pour le parent du fichier ou dossier spécifié.
Path, propriété | Renvoie le chemin d'un fichier, dossier ou lecteur spécifié.
Read, méthode | Lit un nombre spécifié de caractères dans un fichier TextStream et renvoie la chaîne résultante.
ReadAll, méthode | Lit la totalité d'un fichier TextStream et renvoie la chaîne résultante.
ReadLine, méthode | Lit toute une ligne (caractère de nouvelle ligne exclus) d'un fichier TextStream et renvoie la chaîne résultante.
Remove, méthode | Retire une paire clé/élément d'un objet Dictionary.
RemoveAll, méthode | Supprime toutes les paires clé/élément d'un objet Dictionary.
RootFolder, propriété | Renvoie un objet Folder correspondant au dossier racine d'un lecteur spécifié.
SerialNumber, propriété | Renvoie le numéro de série décimal utilisé pour identifier de manière unique un volume de disque.
ShareName, propriété | Renvoie le nom du partage réseau pour un lecteur spécifié.
ShortName, propriété | Renvoie le nom abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.
ShortPath, propriété | Renvoie le chemin abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.
Size, propriété | Renvoie la taille, en octets, du fichier ou du dossier spécifié.
Skip, méthode | Omet un nombre spécifié de caractères lors de la lecture d'un fichier TextStream.
SkipLine, méthode | Omet la ligne suivante lors de la lecture d'un fichier TextStream.
SpecialFolder, constantes | Définissent les dossiers spéciaux disponibles sur votre système d'exploitation.
SubFolders, propriété | Renvoie une collection Folders comprenant tous les dossiers contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.
TextStream, objet | Facilite l'accès séquentiel au fichier.
TotalSize, propriété | Renvoie l'espace total, en octets, d'un lecteur ou d'un partage réseau.
Type, propriété | Renvoie des informations relatives au type d'un fichier ou d'un dossier.
VolumeName, propriété | Définit ou renvoie le nom de volume d'un lecteur spécifié.
Write, méthode | Écrit une chaîne spécifiée dans un fichier TextStream.
WriteBlankLines, méthode | Écrit un nombre spécifié de caractères de nouvelle ligne dans un fichier TextStream.
WriteLine, méthode | Écrit une chaîne spécifiée et un caractère de nouvelle ligne dans un fichier TextStream.
Élément de langage | Description
DriveType, constantes | Définissent les différents types de lecteurs disponibles sur l'ordinateur hôte, tels que les lecteurs fixes, amovibles, de CD-ROM, etc.
Attributs de fichier, constantes | Définissent les différents attributs de fichier (Caché, Lecture seule, etc).
FileSystemObject, constantes | Liste des constantes pour l'objet File System Automation.
SpecialFolder, constantes | Définissent les dossiers spéciaux disponibles sur votre système d'exploitation.
Élément de langage | Description
Add, méthode (Dictionary) | Ajoute une paire clé/élément à un objet Dictionary.
Add, méthode (Folders) | Ajoute un nouvel élément Folder à une collection Folders.
BuildPath, méthode | Ajoute un nom à un chemin existant.
Close, méthode | Ferme un fichier TextStream ouvert.
Copy, méthode | Copie un fichier ou un dossier spécifié d'un emplacement vers un autre.
CopyFile, méthode | Copie un ou plusieurs fichiers d'un emplacement vers un autre.
CopyFolder, méthode | Copie récursivement un dossier d'un emplacement vers un autre.
CreateFolder, méthode | Crée un dossier.
CreateTextFile, méthode | Crée un nom de fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire ou y écrire.
Delete, méthode | Supprime un fichier ou un dossier spécifié.
DeleteFile, méthode | Supprime un fichier spécifié.
DeleteFolder, méthode | Supprime un dossier spécifié et son contenu.
DriveExists, méthode | Renvoie la valeur True si le lecteur spécifié existe, False dans le cas contraire.
Exists, méthode | Renvoie la valeur True si une clé spécifiée existe dans l'objet Dictionary. La valeur False est renvoyée dans le cas contraire.
FileExists, méthode | Renvoie la valeur True si un fichier spécifié existe La valeur False est renvoyée dans le cas contraire.
FolderExists, méthode | Renvoie la valeur True si le dossier spécifié existe et la valeur False dans le cas contraire.
GetAbsolutePathName, méthode | Renvoie un chemin complet et non ambigu à partir d'une spécification de chemin fournie.
GetBaseName, méthode | Renvoie une chaîne contenant le nom de base (sans extension) du fichier ou du dossier dans une spécification de chemin fournie.
GetDrive, méthode | Renvoie un objet Drive correspondant au lecteur figurant dans un chemin spécifié.
GetDriveName, méthode | Renvoie une chaîne contenant le nom du lecteur pour un chemin spécifié.
GetExtensionName, méthode | Renvoie une chaîne contenant le nom de l'extension du dernier composant d'un chemin.
GetFile, méthode | Renvoie un objet File correspondant au fichier dans un chemin spécifié.
GetFileName, méthode | Renvoie le dernier nom de fichier ou dossier d'un chemin spécifié qui ne fait pas partie de la spécification de lecteur.
GetFolder, méthode | Renvoie un objet Folder correspondant au dossier d'un chemin spécifié.
GetParentFolderName, méthode | Renvoie une chaîne contenant le nom du dossier parent du dernier fichier ou dossier dans un chemin spécifié.
GetSpecialFolder, méthode | Renvoie le dossier spécial spécifié.
GetTempName, méthode | Renvoie le nom de fichier ou de dossier temporaire généré de façon aléatoire.
Items, méthode | Renvoie un tableau contenant tous les éléments d'un objet Dictionary.
Keys, méthode | Renvoie un tableau contenant toutes les clés existantes dans un objet Dictionary.
Move, méthode | Change l'emplacement d'un fichier ou d'un dossier spécifié.
MoveFile, méthode | Change l'emplacement d'un ou plusieurs fichiers.
MoveFolder, méthode | Change l'emplacement d'un ou plusieurs dossiers.
OpenAsTextStream, méthode | Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.
OpenTextFile, méthode | Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.
Read, méthode | Lit un nombre spécifié de caractères dans un fichier TextStream et renvoie la chaîne résultante.
ReadAll, méthode | Lit la totalité d'un fichier TextStream et renvoie la chaîne résultante.
ReadLine, méthode | Lit toute une ligne (caractère de nouvelle ligne exclus) d'un fichier TextStream et renvoie la chaîne résultante.
Remove, méthode | Retire une paire clé/élément d'un objet Dictionary.
RemoveAll, méthode | Supprime toutes les paires clé/élément d'un objet Dictionary.
Skip, méthode | Omet un nombre spécifié de caractères lors de la lecture d'un fichier TextStream.
SkipLine, méthode | Omet la ligne suivante lors de la lecture d'un fichier TextStream.
Write, méthode | Écrit une chaîne spécifiée dans un fichier TextStream.
WriteBlankLines, méthode | Écrit un nombre spécifié de caractères de nouvelle ligne dans un fichier TextStream.
WriteLine, méthode | Écrit une chaîne spécifiée et un caractère de nouvelle ligne dans un fichier TextStream.
Élément de langage | Description
Dictionary, objet | Objet stockant des paires clé de données/élément.
Drive, objet | Donne accès aux propriétés d'un lecteur de disque ou d'un partage réseau spécifié.
Drives, objet | Collection en lecture seule de tous les lecteurs disponibles.
File, objet | Donne accès aux propriétés d'un fichier.
Files, collection | Collection de tous les objets File d'un dossier.
FileSystemObject, objet | Procure un accès au système de fichier d'un ordinateur.
Folder, objet | Donne accès aux propriétés d'un dossier.
Folders, collection | Collection de tous les objets Folder contenus dans un objet Folder.
TextStream, objet | Facilite l'accès séquentiel à un fichier.
Élément de langage | Description
AtEndOfLine, propriété | Renvoie True si le pointeur de fichier précède immédiatement le marqueur de fin de ligne dans un fichier TextStream ; False dans le cas contraire
AtEndOfStream, propriété | Renvoie True si le pointeur du fichier se trouve à la fin d'un fichier TextStream ; False dans le cas contraire.
Attributes, propriété | Définit ou renvoie les attributs de fichiers ou de dossiers.
AvailableSpace, propriété | Renvoie la quantité d'espace libre disponible pour un utilisateur sur le lecteur ou le partage réseau.
Column, propriété | Renvoie le numéro de colonne de la position de caractère en cours dans un fichier TextStream.
CompareMode, propriété | Définit et renvoie le mode de comparaison pour comparer les clés de chaîne dans un objet Dictionary.
Count, propriété | Renvoie le nombre d'éléments d'une collection ou d'un objet Dictionary.
DateCreated, propriété | Renvoie la date et l'heure de création du dossier ou du fichier spécifié.
DateLastAccessed, propriété | Renvoie la date et l'heure à laquelle on a accédé au fichier ou au dossier spécifié pour la dernière fois.
DateLastModified, propriété | Renvoie la date et l'heure à laquelle le fichier ou le dossier spécifié a été modifié pour la dernière fois.
Drive, propriété | Renvoie la lettre du lecteur où réside le dossier ou le fichier spécifié.
DriveLetter, propriété | Renvoie la lettre d'un lecteur physique local ou d'un partage réseau.
Drives, propriété | Renvoie une collection Drives constituée de tous les objets Drive disponibles sur la machine locale.
DriveType, propriété | Renvoie une valeur indiquant le type du lecteur spécifié.
Files, propriété | Renvoie une collection Files constituée de tous les objets File contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.
FileSystem, propriété | Renvoie le type de système de fichiers utilisé pour le lecteur spécifié.
FreeSpace, propriété | Renvoie la quantité d'espace disponible pour un utilisateur sur le lecteur ou le partage réseau spécifié.
IsReady, propriété | Renvoie la valeur True si le lecteur spécifié est prêt et la valeur False dans le cas contraire.
IsRootFolder, propriété | Renvoie la valeur True si le dossier spécifié est le dossier racine et la valeur False dans le cas contraire.
Item, propriété | Définit ou renvoie un élément pour une clé spécifiée dans un objet Dictionary.
Key, propriété | Définit un argument key dans un objet Dictionary.
Line, propriété | Renvoie le numéro de ligne en cours dans un fichier TextStream.
Name, propriété | Définit ou renvoie le nom d'un fichier ou d'un dossier spécifié.
Number, propriété | Renvoie ou définit une valeur numérique spécifiant une erreur.
ParentFolder, propriété | Renvoie l'objet dossier pour le parent du fichier ou dossier spécifié.
Path, propriété | Renvoie le chemin d'un fichier, dossier ou lecteur spécifié.
RootFolder, propriété | Renvoie un objet Folder correspondant au dossier racine d'un lecteur spécifié.
SerialNumber, propriété | Renvoie le numéro de série décimal utilisé pour identifier de manière unique un volume de disque.
ShareName, propriété | Renvoie le nom du partage réseau pour un lecteur spécifié.
ShortName, propriété | Renvoie le nom abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.
ShortPath, propriété | Renvoie le chemin abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.
Size, propriété | Renvoie la taille, en octets, du fichier ou du dossier spécifié.
SubFolders, propriété | Renvoie une collection Folders comprenant tous les dossiers contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.
TotalSize, propriété | Renvoie l'espace total, en octets, d'un lecteur ou d'un partage réseau.
Type, propriété | Renvoie des informations relatives au type d'un fichier ou d'un dossier.
VolumeName, propriété | Définit ou renvoie le nom de volume d'un lecteur spécifié.

© 2000 Microsoft Corporation. Tous droits réservés.


Caractéristiques de la bibliothèque d'exécution Microsoft Scripting

Catégorie | Caractéristique/Mot clé
Collections | Drives Files Folders
Stockage des données | Dictionary
Dictionnaire | Add Exists Items, Keys Remove, RemoveAll Count Item, Key
Système de fichiers | Drive File FileSystemObject Folder TextStream
FileSystemObject | BuildPath CopyFile, CopyFolder CreateFolder, CreateTextFile DeleteFile, DeleteFolder DriveExists, FileExists, FolderExists GetAbsolutePathName, GetBaseName GetDrive, GetDriveName GetFile, GetExtensionName GetFileName GetFolder, GetParentFolderName GetSpecialFolder GetTempName MoveFile, MoveFolder OpenTextFile Drives
Lecteur, lecteurs | AvailableSpace Count DriveLetter DriveType FileSystem FreeSpace IsReady Item RootFolder SerialNumber ShareName TotalSize VolumeName
Fichier, fichiers Dossier, dossiers | Add Attributes Copy, Delete, Move Count OpenAsTextStream DateCreated, DateLastAccessed, DateLastModified Drive Item ParentFolder Name, Path ShortName, ShortPath Size
TextStream | Close Read, ReadAll, ReadLine Skip, SkipLine Write, WriteBlankLines, WriteLine AtEndOfLine, AtEndOfStream Column, Line


DriveType, constantes

Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
Unknown | 0 | Le type du lecteur ne peut pas être déterminé.
Removable | 1 | Le lecteur contient un support amovible. Ceci comprend tous les lecteurs de disquette et de nombreux autres périphériques de stockage.
Fixed | 2 | Le lecteur contient un support permanent (non amovible). Ceci comprend tous les lecteurs de disques durs, y compris ceux qui sont amovibles.
Remote | 3 | Lecteurs de réseau. Ceci comprend tous les lecteurs partagés partout dans le réseau.
CDROM | 4 | Le lecteur est un CD-ROM. Aucune distinction n'est effectuée entre les lecteurs de CD-ROM en lecture seule et en lecture/écriture.
RAMDisk | 5 | Le lecteur est en fait un bloc de mémoire RAM de l'ordinateur local qui se comporte comme un lecteur de disque.

Voir aussi

Comparaison, constantes | Attributs de fichier, constantes | Entrée/Sortie de fichier, constantes | SpecialFolder, constantes | 3-états, constantes


Attributs de fichier, constantes

Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
Normal | 0 | Fichier normal. Aucun attribut n'est défini.
ReadOnly | 1 | Fichier en lecture seule.
Hidden | 2 | Fichier caché.
System | 4 | Fichier système.
Directory | 16 | Dossier ou répertoire.
Archive | 32 | Le fichier a été modifié depuis la dernière sauvegarde.
Alias | 1024 | Lien ou raccourci.
Compressed | 2048 | Fichier compressé.

Voir aussi

Comparaison, constantes | DriveType, constantes | Entrée/Sortie de fichier, constantes | SpecialFolder, constantes | 3-états, constantes


Entrée/Sortie de fichier, constantes

Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
ForReading | 1 | Ouvrir un fichier en lecture seule. Vous ne pouvez pas écrire dans ce fichier.
ForWriting | 2 | Ouvrir un fichier en écriture. Si un fichier existe sous le même nom, son contenu est écrasé.
ForAppending | 8 | Ouvrir un fichier et écrire à la fin du fichier.

Voir aussi

Comparaison, constantes | DriveType, constantes | Attributs de fichier, constantes | SpecialFolder, constantes | 3-états, constantes


FileSystemObject, constantes

FileSystemObject possède de nombreuses constantes très utiles que vous pouvez employer dans l'écriture de votre code. Les constantes sont un moyen pratique d'utiliser des valeurs spécifiques sans qu'il soit nécessaire de se souvenir de celles-ci. Elles rendent également votre code plus facile à entretenir, lorsque la valeur d'une constante est modifiée.

En fonction de votre hôte de script, les constantes peuvent éventuellement être déjà définies. Si tel est le cas, il suffit d'utiliser les constantes dans votre code à la place des valeurs qu'elles représentent. Lorsque votre hôte de script ne fait pas explicitement référence au fichier SCRRUN.DLL, vous devrez définir ces constantes dans votre code avant de pouvoir les utiliser. C'est le cas avec Microsoft Internet Explorer et Microsoft Internet Information Services (IIS).

La liste suivante répertorie les différentes catégories de constantes fournies avec FileSystemObject et les accompagne d'une brève description :

  • Drive Type, constantes Définissent les différents types de lecteurs disponibles sur l'ordinateur hôte, tels que les lecteurs fixes, amovibles, de CD-ROM, etc.
  • Attributs de fichier, constantes Définissent les différents attributs de fichier (Caché, Lecture seule, etc.).
  • Entrée/Sortie de fichier, constantes Définissent des constantes utilisées avec des entrées et des sorties de fichier.
  • SpecialFolder, constantes Définissent les dossiers spéciaux disponibles sur votre système d'exploitation.

VBScript, constantes


SpecialFolder, constantes

Ces constantes sont disponibles uniquement lorsque votre projet contient une référence explicite à la bibliothèque de types contenant leurs définitions. Pour VBScript, vous devez déclarer ces constantes explicitement dans votre code.

Constante | Valeur | Description
WindowsFolder | 0 | Le dossier Windows contient des fichiers installés par le système d'exploitation Windows.
SystemFolder | 1 | Le dossier Système contient les bibliothèques, les polices et les pilotes de périphérique.
TemporaryFolder | 2 | Le dossier Temp stocke les fichiers temporaires. Son chemin figure dans la variable d'environnement TMP.

Voir aussi

Comparaison, constantes | DriveType, constantes | FileAttribute, constantes | Entrée/Sortie de fichier, constantes | 3-états, constantes


Add, méthode (Dictionary)

Ajoute une paire clé/élément à un objet Dictionary.

object.Add key, item

Arguments

object

Correspond toujours au nom d'un objet Dictionary.

key

Argument key associé à l'argument item ajouté.

item

Argument item associé à l'argument key ajouté.

Notes

Une erreur se produit si key existe déjà.

L'exemple ci-dessous illustre l'utilisation de la méthode Add :

Dim d   ' Crée une variable.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athènes"   ' Ajoute des clés et des éléments.
d.Add "b", "Belgrade"
d.Add "c", "Casablanca"

Voir aussi

Add, méthode (Folders) | Exists, méthode | Items, méthode | Keys, méthode | Remove, méthode | RemoveAll, méthode

Application: Dictionary, objet


Add, méthode (Folders)

Ajoute un nouvel élément Folder à une collection Folders.

object.Add(folderName)

Arguments

object

Correspond toujours au nom d'une collection Folders.

folderName

Le nom du nouveau Folder ajouté.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode Add pour ajouter un nouveau dossier :

Sub AddNewFolder(path, folderName)
   Dim fso, f, fc, nf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(path)
   Set fc = f.SubFolders
   If folderName <> "" Then
      Set nf = fc.Add(folderName)
   Else
      Set nf = fc.Add("Nouveau dossier")
   End If
End Sub

Une erreur se produit si folderName existe déjà.

Voir aussi

Add, méthode (Dictionary)

Application: Folders, collection


BuildPath, méthode

Ajoute un nom à un chemin existant.

object.BuildPath(path, name)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

path

Chemin existant auquel name est ajouté. Le chemin peut être absolu ou relatif et n'est pas obligé de correspondre à un chemin existant.

name

Nom ajouté au path existant.

Notes

La méthode BuildPath insère si nécessaire un séparateur de chemin entre le chemin existant et le nouveau nom.

L'exemple ci-dessous illustre l'utilisation de la méthode BuildPath :

Function GetBuildPath(path)
   Dim fso, newpath
   Set fso = CreateObject("Scripting.FileSystemObject")
   newpath = fso.BuildPath(path, "Sub Folder")
   GetBuildPath = newpath
End Function

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFileName, méthode | GetParentFolderName, méthode | GetTempName, méthode

Application: FileSystemObject, objet


Close, méthode

Ferme un fichier TextStream ouvert.

object.Close

L'espace réservé object correspond toujours au nom d'un objet TextStream.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode Close pour fermer un fichier TextStream :

Sub CreateAFile
   Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
   MyFile.WriteLine("Ceci est un test.")
   MyFile.Close
End Sub

Voir aussi

Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


Copy, méthode

Copie un fichier ou un dossier spécifié d'un emplacement vers un autre.

object.Copy destination[, overwrite]

Arguments

object

Correspond toujours au nom d'un objet File ou Folder.

destination

Destination de la copie du fichier ou du dossier. Les caractères génériques ne sont pas autorisés.

overwrite

Facultatif. Valeur booléenne True (par défaut) si les fichiers ou dossiers existants sont remplacés ; False sinon.

Notes

Le résultat de la méthode Copy sur un objet File ou Folder est identique à celui de FileSystemObject.CopyFile ou FileSystemObject.CopyFolder où le fichier ou le dossier indiqués par object est passé en argument. Notez cependant que ces méthodes alternatives sont capables de copier plusieurs fichiers ou dossiers.

L'exemple ci-dessous illustre l'utilisation de la méthode Copy :

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Copy ("c:\windows\desktop\test2.txt")

Voir aussi

CopyFile, méthode | CopyFolder, méthode | Delete, méthode | Move, méthode | OpenAsTextStream, méthode

Application: File, objet | Folder, objet


CopyFile, méthode

Copie un ou plusieurs fichiers d'un emplacement vers un autre.

object.CopyFile source, destination[, overwrite]

Arguments

object

L'argument object représente toujours un objet FileSystemObject.

source

Chaîne de spécification de fichiers pouvant contenir des caractères génériques afin de copier un ou plusieurs fichiers.

destination

Chaîne de spécification de la destination de la copie du ou des fichiers issus de source. Les caractères génériques ne sont pas autorisés.

overwrite

Facultatif. Valeur de type Boolean indiquant si les fichiers existants sont remplacés. Si l'argument vaut True, les fichiers sont remplacés ; s'il vaut False, ils ne le sont pas. La valeur par défaut est True. Notez que CopyFile échoue si destination est en lecture seule, quelle que soit la valeur de overwrite.

Notes

Les caractères génériques sont autorisés uniquement pour le dernier composant de l'argument source argument. Par exemple, vous pouvez utiliser :

FileSystemObject.CopyFile "c:\Documents\lettres\*.doc", "c:\tempfolder\"

Vous ne pouvez pas utiliser :

FileSystemObject.CopyFile "c:\Documents\*\R1???97.xls", "c:\tempfolder"

Si l'argument source contient des caractères génériques ou si destination se termine par un séparateur de chemin (\), destination est considéré comme un dossier existant vers lequel s'effectue la copie des dossiers et sous-dossiers désignés. Sinon, destination est considéré comme le nom du dossier à créer. Dans les deux cas, la copie d'un dossier individuel présente trois possibilités.

  • Si destination n'existe pas, le dossier source et son contenu sont copiés. C'est le cas le plus courant.
  • Si destination est un fichier existant, une erreur se produit si overwrite est False. Sinon, la copie tente de remplacer le fichier source existant.
  • Si destination est un dossier existant, une erreur se produit.

Une erreur se produit aussi si une source contenant des caractères génériques ne correspond à aucun dossier. La méthode CopyFile s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour annuler les modifications précédant l'erreur.

Voir aussi

Copy, méthode | CopyFolder, méthode | CreateTextFile, méthode | DeleteFile, méthode | MoveFile, méthode

Application: FileSystemObject, objet


CopyFolder, méthode

Copie récursivement un dossier d'un emplacement vers un autre.

object.CopyFolder source, destination[, overwrite]

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

source

Chaîne de spécification de dossiers pouvant contenir des caractères génériques afin de copier un ou plusieurs dossiers.

destination

Chaîne de spécification de la destination de la copie du ou des dossiers et sous-dossiers issus de source. Les caractères génériques ne sont pas autorisés.

overwrite

Facultatif. Valeur de type Boolean indiquant si les dossiers existants sont remplacés. Si l'argument a la valeur True, les fichiers sont remplacés ; s'il prend la valeur False, ils ne le sont pas. La valeur par défaut est True.

Notes

Les caractères génériques sont autorisés uniquement pour le dernier composant de l'argument source. Par exemple, vous pouvez utiliser :

FileSystemObject.CopyFolder "c:\Documents\lettres\*", "c:\tempfolder\"

Vous ne pouvez pas utiliser :

FileSystemObject.CopyFolder "c:\Documents\*\*", "c:\tempfolder\"

Si l'argument source contient des caractères génériques ou si destination se termine par un séparateur de chemin (\), destination est considéré comme un dossier existant vers lequel s'effectue la copie des dossiers et sous-dossiers désignés. Sinon, destination est considéré comme le nom du dossier à créer. Dans les deux cas, la copie d'un dossier individuel présente quatre possibilités.

  • Si destination n'existe pas, le dossier source et son contenu sont copiés. C'est le cas le plus courant.
  • Si destination est un fichier existant, une erreur se produit.
  • Si destination est un dossier, l'opération tente de copier le dossier et son contenu. Si un fichier contenu dans source existe déjà dans destination, une erreur se produit si overwrite est False. Sinon, la copie tente de remplacer le fichier existant.
  • Si destination est un dossier en lecture seule, une erreur se produit si l'opération tente de copier un fichier existant en lecture seule dans ce dossier alors que overwrite vaut False.

Une erreur se produit aussi si une source contenant des caractères génériques ne correspond à aucun dossier.

La méthode CopyFolder s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour annuler les modifications précédant l'erreur.

Voir aussi

CopyFile, méthode | Copy, méthode | CreateFolder, méthode | DeleteFolder, méthode | MoveFolder, méthode

Application: FileSystemObject, objet


CreateFolder, méthode

Crée un dossier.

object.CreateFolder(foldername)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

foldername

Expression de chaîne identifiant le dossier à créer.

Notes

Une erreur se produit si le dossier spécifié existe déjà.

L'exemple ci-dessous illustre l'utilisation de la méthode CreateFolder :

Function CreateFolderDemo
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.CreateFolder("c:\dossier")
   CreateFolderDemo = f.Path
End, fonction

Voir aussi

CopyFolder, méthode | DeleteFolder, méthode | MoveFolder, méthode

Application: FileSystemObject, objet


CreateTextFile, méthode

Crée un nom de fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire ou y écrire.

object.CreateTextFile(filename[, overwrite[, unicode]])

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject ou Folder.

filename

Expression de chaîne identifiant le fichier à créer.

overwrite

Facultatif. Valeur de type Boolean indiquant si un fichier existant peut être remplacé. La valeur est True si le fichier peut être écrasé, False dans le cas contraire. Si cette valeur est omise, les fichiers existants ne peuvent pas être écrasés.

unicode

Facultatif. Valeur de type Boolean qui indique si le fichier est créé sous forme de fichier Unicode ou ASCII. La valeur est True si le fichier est créé sous forme de fichier Unicode, False s'il est créé sous forme de fichier ASCII. Si cette valeur est omise, un fichier ASCII est pris par défaut.

Notes

Le code suivant illustre l'emploi de la méthode CreateTextFile pour créer et ouvrir un fichier texte :

Sub CreateAfile
   Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
   MyFile.WriteLine("Ceci est un test.")
   MyFile.Close
End Sub

Si l'argument overwrite vaut False, ou est absent, pour un filename déjà existant, une erreur se produit.

Voir aussi

CreateFolder, méthode | OpenAsTextStream, méthode | OpenTextFile, méthode

Application: FileSystemObject, objet | Folder, objet


Delete, méthode

Supprime un fichier ou un dossier spécifié.

object.Delete force

Arguments

object

Correspond toujours au nom d'un objet File ou Folder.

force

Facultatif. Valeur booléenne True si les fichiers ou dossiers en lecture seule sont supprimés, False (par défaut) dans le cas contraire.

Notes

Une erreur se produit si le fichier ou dossier spécifié n'existe pas. La méthode Delete ne fait pas de distinction entre les dossiers vides et les autres. Le dossier spécifié est supprimé qu'il ait un contenu ou pas.

Le résultat de la méthode Delete sur un objet File ou Folder est identique à celui de FileSystemObject.DeleteFile ou FileSystemObject.DeleteFolder.

L'exemple ci-dessous illustre l'utilisation de la méthode Delete :

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Delete

Voir aussi

Copy, méthode | DeleteFile, méthode | DeleteFolder, méthode | Move, méthode | OpenAsTextStream, méthode

Application: File, objet | Folder, objet


DeleteFile, méthode

Supprime un fichier spécifié.

object.DeleteFile filespec[, force]

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

filespec

Correspond toujours au nom du fichier à supprimer. L'argument filespec peut contenir des caractères génériques dans le dernier composant du chemin.

force

Facultatif. Valeur booléenne True si les fichiers en lecture seule sont supprimés, False (par défaut) dans le cas contraire.

Notes

Une erreur se produit si aucun fichier correspondant n'est trouvé. La méthode DeleteFile s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour restaurer l'état précédent ou annuler les modifications précédant l'erreur.

L'exemple ci-dessous illustre l'utilisation de la méthode DeleteFile :

Sub DeleteAFile(filespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.DeleteFile(filespec)
End Sub

Voir aussi

CopyFile, méthode | CreateTextFile, méthode | Delete, méthode | DeleteFolder, méthode | MoveFile, méthode

Application: FileSystemObject, objet


DeleteFolder, méthode

Supprime un dossier spécifié et son contenu.

object.DeleteFolder folderspec[, force]

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

folderspec

Correspond toujours au nom du dossier à supprimer. L'argument folderspec peut contenir des caractères génériques dans le dernier composant du chemin.

force

Facultatif. Valeur booléenne True si les dossiers en lecture seule sont supprimés, False (par défaut) dans le cas contraire.

Notes

La méthode DeleteFolder ne fait pas de distinction entre les dossiers vides et les autres. Le dossier spécifié est supprimé qu'il ait un contenu ou pas.

Une erreur se produit si aucun dossier correspondant n'est trouvé. La méthode DeleteFolder s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour restaurer l'état précédent ou annuler les modifications précédant l'erreur.

L'exemple ci-dessous illustre l'utilisation de la méthode DeleteFolder :

Sub DeleteAFolder(filespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.DeleteFolder(filespec)
End Sub

Voir aussi

CopyFolder, méthode | CreateFolder, méthode | Delete, méthode | DeleteFile, méthode | MoveFolder, méthode

Application: FileSystemObject, objet


DriveExists, méthode

Renvoie la valeur True si le lecteur spécifié existe, False dans le cas contraire.

object.DriveExists(drivespec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

drivespec

Une lettre désignant un lecteur ou une spécification de chemin complète.

Notes

Pour les lecteurs de supports amovibles, la méthode DriveExists renvoie True même si le lecteur ne contient pas de support. Utilisez la méthode IsReady de l'objet Drive pour déterminer si le lecteur est prêt.

L'exemple ci-dessous illustre l'utilisation de la méthode DriveExists :

Function ReportDriveStatus(drv)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If fso.DriveExists(drv) Then
      msg = ("Le lecteur " & UCase(drv) & " existe.")
   Else
      msg = ("Le lecteur " & UCase(drv) & " n'existe pas.")
   End If
   ReportDriveStatus = msg
End, fonction

Voir aussi

Drive, objet | Drives, collection | FileExists, méthode | FolderExists, méthode | GetDrive, méthode | GetDriveName, méthode | IsReady, propriété

Application: FileSystemObject, objet


Exists, méthode

Renvoie la valeur True si une clé spécifiée existe dans l'objet Dictionary. La valeur False est renvoyée dans le cas contraire.

object.Exists(key)

Arguments

object

Correspond toujours au nom d'un objet Dictionary.

key

Requis. Valeur Key recherchée dans l'objet Dictionary.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode Exists :

Function KeyExistsDemo
   Dim d, msg   ' Crée des variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments.
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   If d.Exists("c") Then
      msg = "La clé spécifiée existe."
   Else
      msg = "La clé spécifiée n'existe pas."
   End If
   KeyExistsDemo = msg
End, fonction

Voir aussi

Add, méthode (Dictionary) | Items, méthode | Keys, méthode | Remove, méthode | RemoveAll, méthode

Application: Dictionary, objet


FileExists, méthode

Renvoie la valeur True si un fichier spécifié existe La valeur False est renvoyée dans le cas contraire.

object.FileExists(filespec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

filespec

Le nom du fichier dont l'existence doit être déterminée. Une spécification de chemin complet (absolue ou relative) est nécessaire si le fichier ne se trouve pas dans le dossier en cours.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode FileExists :

Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(filespec)) Then
      msg = filespec & " existe."
   Else
      msg = filespec & " n'existe pas."
   End If
   ReportFileStatus = msg
End, fonction

Voir aussi

DriveExists, méthode | FolderExists, méthode | GetFile, méthode | GetFileName, méthode

Application: FileSystemObject, objet


FolderExists, méthode

Renvoie la valeur True si le dossier spécifié existe et la valeur False dans le cas contraire.

object.FolderExists(folderspec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

folderspec

Le nom du dossier dont l'existence doit être déterminée. Une spécification de chemin complet (absolue ou relative) est nécessaire si le dossier ne se trouve pas dans le dossier en cours.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode FolderExists :

Function ReportFolderStatus(fldr)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FolderExists(fldr)) Then
      msg = fldr & " existe."
   Else
      msg = fldr & " n'existe pas."
   End If
   ReportFolderStatus = msg
End, fonction

Voir aussi

DriveExists, méthode | FileExists, méthode | GetFolder, méthode | GetParentFolderName, méthode

Application: FileSystemObject, objet


GetAbsolutePathName, méthode

Renvoie un chemin complet et non ambigu à partir d'une spécification de chemin fournie.

object.GetAbsolutePathName(pathspec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

pathspec

Spécification de chemin à changer en chemin complet et non ambigu.

Notes

Un chemin est complet et non ambigu s'il fournit une référence complète à partir de la racine du lecteur spécifié. Un chemin complet peut se terminer avec un caractère séparateur (\) uniquement s'il spécifie le chemin racine d'un lecteur mappé.

En supposant que le répertoire en cours est c:\documents\rapports, le tableau suivant illustre le fonctionnement de la méthode GetAbsolutePathName.

pathspec | Chemin renvoyé
"c:" | "c:\documents\rapports"
"c:.." | "c:\documents"
"c:\\\" | "c:\"
"c:*.*\mai97" | "c:\documents\rapports\*.*\mai97"
"région1" | "c:\documents\rapports\région1"
"c:\..\..\documents" | "c:\documents"

Voir aussi

GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetBaseName, méthode

Renvoie une chaîne contenant le nom de base (sans extension) du fichier ou du dossier dans une spécification de chemin fournie.

object.GetBaseName(path)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

path

La spécification de chemin pour le fichier ou le dossier dont le nom de base doit être renvoyé.

Notes

La méthode GetBaseName renvoie une chaîne de longueur nulle ("") si aucun fichier ou dossier ne correspond à l'argument path.

L'exemple ci-dessous illustre l'utilisation de la méthode GetBaseName :

Function GetTheBase(filespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   GetTheBase = fso.GetBaseName(filespec)
End Function

Remarque La méthode GetBaseName travaille uniquement sur la chaîne path fournie. Elle ne tente pas de résoudre le chemin ni de vérifier son existence.

Voir aussi

GetAbsolutePathName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetDrive, méthode

Renvoie un objet Drive correspondant au lecteur figurant dans un chemin spécifié.

object.GetDrive drivespec

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

drivespec

L'argument drivespec peut être une lettre de lecteur (c), une lettre de lecteur avec deux points (c:), une lettre de lecteur avec deux points et un séparateur (c:\) ou toute spécification de partage réseau (\\ordinateur2\partage1).

Notes

L'existence des partages réseau est contrôlée.

Une erreur se produit si l'argument drivespec n'est pas conforme à un des formats acceptés ou n'existe pas. Pour appeler la méthode GetDrive sur une chaîne de chemin normale, utilisez la séquence suivante pour obtenir une chaîne utilisable comme argument drivespec:

DriveSpec = GetDriveName(GetAbsolutePathName(Path))

L'exemple ci-dessous illustre l'utilisation de la méthode GetDrive :

Function ShowFreeSpace(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & d.VolumeName  & "<BR>"
   s = s & "Espace disponible: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " KOctets"
   ShowFreeSpace = s
End Function

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetDriveName, méthode

Renvoie une chaîne contenant le nom du lecteur pour un chemin spécifié.

object.GetDriveName(path)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

path

La spécification de chemin pour le composant dont le nom de lecteur doit être renvoyé.

Notes

La méthode GetDriveName renvoie une chaîne de longueur nulle ("") si le lecteur ne peut pas être déterminé.

L'exemple ci-dessous illustre l'utilisation de la méthode GetDriveName :

Function GetAName(DriveSpec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   GetAName = fso.GetDriveName(Drivespec)
End Function

Remarque La méthode GetDriveName travaille uniquement sur la chaîne path fournie. Elle ne tente pas de résoudre le chemin ni de vérifier son existence.

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetExtensionName, méthode

Renvoie une chaîne contenant le nom de l'extension du dernier composant d'un chemin.

object.GetExtensionName(path)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

path

La spécification de chemin pour le composant dont le nom d'extension doit être renvoyé.

Notes

Pour les lecteurs réseau, le répertoire racine (\) est considéré comme un composant.

La méthode GetExtensionName renvoie une chaîne de longueur nulle ("") si aucun composant ne correspond à l'argument path.

L'exemple ci-dessous illustre l'utilisation de la méthode GetExtensionName :

Function GetAnExtension(DriveSpec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   GetAnExtension = fso.GetExtensionName(Drivespec)
End Function

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetFile, méthode

Renvoie un objet File correspondant au fichier dans un chemin spécifié.

object.GetFile(filespec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

filespec

L'argument filespec est le chemin (absolu ou relatif) d'un fichier spécifique.

Notes

Une erreur se produit si le fichier spécifié n'existe pas.

L'exemple ci-dessous illustre l'utilisation de la méthode GetFile :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = f.Path & "<br>"
   s = s & "Créé le: " & f.DateCreated & "<br>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<br>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetFileName, méthode

Renvoie le dernier nom de fichier ou dossier d'un chemin spécifié qui ne fait pas partie de la spécification de lecteur.

object.GetFileName(pathspec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

pathspec

Le chemin (absolu ou relatif) vers un fichier spécifique.

Notes

La méthode GetFileName renvoie une chaîne de longueur nulle ("") si pathspec ne se termine pas par le fichier ou dossier nommé.

L'exemple ci-dessous illustre l'utilisation de la méthode GetFileName :

Function GetAName(DriveSpec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   GetAName = fso.GetFileName(DriveSpec)
End Function

Remarque La méthode GetFileName travaille uniquement sur la chaîne de chemin fournie. Elle ne tente pas de résoudre le chemin ni de vérifier son existence.

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetFolder, méthode

Renvoie un objet Folder correspondant au dossier d'un chemin spécifié.

object.GetFolder(folderspec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

folderspec

L'argument folderspec est le chemin (absolu ou relatif) vers un dossier spécifique.

Notes

Une erreur se produit si le dossier spécifié n'existe pas.

L'exemple ci-dessous illustre l'utilisation de la méthode GetFolder pour renvoyer un objet Folder :

Sub AddNewFolder(path, folderName)
   Dim fso, f, fc, nf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(path)
   Set fc = f.SubFolders
   If folderName <> "" Then
      Set nf = fc.Add(folderName)
   Else
      Set nf = fc.Add("Dossier")
   End If
End Sub

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetParentFolderName, méthode

Renvoie une chaîne contenant le nom du dossier parent du dernier fichier ou dossier dans un chemin spécifié.

object.GetParentFolderName(path)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

path

La spécification de chemin pour le fichier ou dossier dont le nom de dossier parent doit être renvoyé.

Notes

La méthode GetParentFolderName renvoie une chaîne de longueur nulle ("") s'il n'y a pas de dossier parent pour le fichier ou dossier spécifié dans l'argument path.

L'exemple ci-dessous illustre l'utilisation de la méthode GetParentFolderName :

Function GetTheParent(DriveSpec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   GetTheParent = fso.GetParentFolderName(Drivespec)
End Function

Remarque La méthode GetParentFolderName travaille uniquement sur la chaîne path fournie. Elle ne tente pas de résoudre le chemin ni de vérifier son existence.

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetSpecialFolder, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetSpecialFolder, méthode

Renvoie le dossier spécial spécifié.

object.GetSpecialFolder(folderspec)

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

folderspec

Le nom du dossier spécial à renvoyer. Ce nom peut être toute constante de la section Paramètres.

Paramètres

L'argument folderspec peut prendre les valeurs suivantes :

Constante | Valeur | Description
WindowsFolder | 0 | Le dossier Windows contient des fichiers installés par le système d'exploitation Windows.
SystemFolder | 1 | Le dossier Système contient les bibliothèques, les polices et les pilotes de périphérique.
TemporaryFolder | 2 | Le dossier Temp stocke les fichiers temporaires. Son chemin figure dans la variable d'environnement TMP.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode GetSpecialFolder :

Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
   Dim tfolder, tname, tfile
   Const TemporaryFolder = 2
   Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
   tname = fso.GetTempName
   Set tfile = tfolder.CreateTextFile(tname)
   Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "Bonjour"
tempfile.Close

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetTempName, méthode

Application: FileSystemObject, objet


GetTempName, méthode

Renvoie un nom de fichier ou de dossier temporaire généré aléatoirement utile pour les opérations qui nécessitent un fichier ou un dossier temporaire.

object.GetTempName

L'argument object facultatif est toujours le nom d'un FileSystemObject.

Notes

La méthode GetTempName ne crée pas de fichier. Elle fournit un nom de fichier temporaire que vous pouvez utiliser avec CreateTextFile pour créer un fichier.

L'exemple ci-dessous illustre l'utilisation de la méthode GetTempName :

Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
   Dim tfolder, tname, tfile
   Const TemporaryFolder = 2
   Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
   tname = fso.GetTempName
   Set tfile = tfolder.CreateTextFile(tname)
   Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "Bonjour"
tempfile.Close

Voir aussi

GetAbsolutePathName, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode

Application: FileSystemObject, objet


Items, méthode

Renvoie un tableau contenant tous les éléments d'un objet Dictionary.

object.Items

L'espace réservé object correspond toujours au nom d'un objet Dictionary.

Notes

Le code suivant illustre l'emploi de la méthode Items :

Function DicDemo
   Dim a, d, i, s   ' Crée des variables
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   a = d.Items   ' Obtient les éléments
   For i = 0 To d.Count -1 ' Effectue une itération sur le tableau
      s = s & a(i) & "<BR>" ' Crée la chaîne renvoyée
   Next
   DicDemo = s
End Function

Voir aussi

Add, méthode (Dictionary) | Exists, méthode | Keys, méthode | Remove, méthode | RemoveAll, méthode

Application: Dictionary, objet


Keys, méthode

Renvoie un tableau contenant toutes les clés existantes dans un objet Dictionary.

object.Keys

L'espace réservé object correspond toujours au nom d'un objet Dictionary.

Notes

Le code suivant illustre l'emploi de la méthode Keys :

Function DicDemo
   Dim a, d, i   ' Crée des variables
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   a = d.Keys   ' Obtient les clés
   For i = 0 To d.Count -1 ' Effectue une itération sur le tableau
      s = s & a(i) & "<BR>" ' Résultat à renvoyer
   Next
   DicDemo = s
End Function

Voir aussi

Add, méthode (Dictionary) | Exists, méthode | Items, méthode | Remove, méthode | RemoveAll, méthode

Application: Dictionary, objet


Move, méthode

Change l'emplacement d'un fichier ou d'un dossier spécifié.

object.Move destination

Arguments

object

Correspond toujours au nom d'un objet File ou Folder.

destination

Destination du déplacement du fichier ou du dossier. Les caractères génériques ne sont pas autorisés.

Notes

Le résultat de la méthode Move sur un objet File ou Folder est identique à celui de FileSystemObject.MoveFile ou FileSystemObject.MoveFolder. Notez cependant que ces méthodes alternatives sont capables de déplacer plusieurs fichiers ou dossiers.

L'exemple ci-dessous illustre l'utilisation de la méthode Move :

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Move "c:\windows\bureau\"

Voir aussi

Copy, méthode | Delete, méthode | MoveFile, méthode | MoveFolder, méthode | OpenAsTextStream, méthode

Application: File, objet | Folder, objet


MoveFile, méthode

Change l'emplacement d'un ou plusieurs fichiers.

object.MoveFile source, destination

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

source

Chemin du ou des fichiers à déplacer. La chaîne argument source peut contenir des caractères génériques dans le dernier composant du chemin uniquement.

destination

Chemin de destination du ou des fichiers à déplacer. L'argument destination ne peut pas contenir de caractères génériques.

Notes

Si l'argument source contient des caractères génériques ou si destination se termine par un séparateur de chemin (\), destination est considéré comme un dossier existant vers lequel s'effectue le déplacement des dossiers et sous-dossiers désignés. Sinon, destination est considéré comme le nom d'un fichier de destination à créer. Dans les deux cas, le déplacement d'un fichier individuel présente trois possibilités :

  • Si destination n'existe pas, le fichier est déplacé. C'est le cas le plus courant.
  • Si destination est un fichier existant, une erreur se produit.
  • Si destination est un dossier, une erreur se produit.

Une erreur se produit aussi si une source contenant des caractères génériques ne correspond à aucun fichier. La méthode MoveFile s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour annuler les modifications précédant l'erreur.

L'exemple ci-dessous illustre l'utilisation de la méthode MoveFile :

Sub MoveAFile(Drivespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.MoveFile Drivespec, "c:\windows\bureau\"
End Sub

Remarque La méthode GetParentFolderName ne fonctionne que sur la chaîne path spécifiée. Elle n'essaie pas de résoudre le chemin ni de vérifier son existence.

Voir aussi

CopyFile, méthode | DeleteFile, méthode | GetFile, méthode | GetFileName, méthode | Move, méthode | MoveFolder, méthode | OpenTextFile, méthode

Application: FileSystemObject, objet


MoveFolder, méthode

Change l'emplacement d'un ou plusieurs dossiers.

object.MoveFolder source, destination

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

source

Chemin du ou des dossiers à déplacer. La chaîne argument source peut contenir des caractères génériques dans le dernier composant du chemin uniquement.

destination

Chemin de destination du ou des dossiers à déplacer. L'argument destination ne peut pas contenir de caractères génériques.

Notes

Si l'argument source contient des caractères génériques ou si destination se termine par un séparateur de chemin (\), destination est considéré comme un dossier existant vers lequel s'effectue le déplacement des dossiers et sous-dossiers désignés. Sinon, destination est considéré comme le nom d'un dossier de destination à créer. Dans les deux cas, le déplacement d'un dossier individuel présente trois possibilités :

  • Si destination n'existe pas, le dossier est déplacé. C'est le cas le plus courant.
  • Si destination est un fichier existant, une erreur se produit.
  • Si destination est un dossier, une erreur se produit.

Une erreur se produit aussi si une source contenant des caractères génériques ne correspond à aucun dossier. La méthode MoveFolder s'arrête sur la première erreur rencontrée. Aucune tentative n'est effectuée pour annuler les modifications précédant l'erreur.

L'exemple ci-dessous illustre l'utilisation de la méthode MoveFolder :

Sub MoveAFolder(Drivespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.MoveFolder Drivespec, "c:\windows\bureau\"
End Sub

Important Cette méthode permet le déplacement de dossiers entre des volumes distincts uniquement si le système d'exploitation gère cette opération.

Voir aussi

CopyFolder, méthode | CreateFolder, méthode | DeleteFolder, méthode | GetFolder, méthode | GetParentFolderName, méthode | Move, méthode | MoveFile, méthode

Application: FileSystemObject, objet


OpenAsTextStream, méthode

Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.

object.OpenAsTextStream([iomode, [format]])

Arguments

object

Correspond toujours au nom d'un objet File.

iomode

Facultatif. Indique le mode entrée/sortie. Cet argument peut être une des trois constantes : ForReading, ForWriting ou ForAppending.

format

Facultatif. L'une des trois valeurs 3-états permettant d'indiquer le format du fichier ouvert. Si cette valeur est omise, le fichier est ouvert en mode ASCII.

Paramètres

L'argument iomode peut prendre les valeurs suivantes :

Constante | Valeur | Description
ForReading | 1 | Ouvre un fichier en lecture seule. Vous ne pouvez pas écrire dans ce fichier.
ForWriting | 2 | Ouvre un fichier en écriture. Si un fichier existe sous le même nom, son contenu est écrasé.
ForAppending | 8 | Ouvre un fichier et écrit à la fin du fichier.

L'argument format peut prendre l'une des valeurs suivantes :

Constante | Valeur | Description
TristateUseDefault | -2 | Ouvre le fichier avec la valeur par défaut du système.
TristateTrue | -1 | Ouvre le fichier comme de l'Unicode.
TristateFalse | 0 | Ouvre le fichier comme de l'ASCII.

Notes

La méthode OpenAsTextStream offre la même fonctionnalité que la méthode OpenTextFile du FileSystemObject. En outre, la méthode OpenAsTextStream permet d'écrire dans un fichier.

Le code suivant illustre l'emploi de la méthode OpenAsTextStream :

Function TextStreamTest
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
   Dim fso, f, ts
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CreateTextFile "test1.txt"   ' Crée un fichier.
   Set f = fso.GetFile("test1.txt")
   Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
   ts.Write "Bonjour"
   ts.Close
   Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
   TextStreamTest = ts.ReadLine
   ts.Close
End Function

Voir aussi

Copy, méthode | CreateTextFile, méthode | Delete, méthode | Move, méthode | OpenTextFile, méthode

Application: File, objet


OpenTextFile, méthode

Ouvre un fichier spécifié et renvoie un objet TextStream pouvant être utilisé pour lire le fichier, écrire ou insérer un élément dans le fichier.

object.OpenTextFile(filename[, iomode[, create[, format]]])

Arguments

object

Correspond toujours au nom d'un objet FileSystemObject.

filename

Expression de chaîne identifiant le fichier à ouvrir.

iomode

Facultatif. Indique le mode entrée/sortie. Cet argument peut être une des trois constantes : ForReading, ForWriting ou ForAppending.

create

Facultatif. Valeur de type Boolean qui indique si un nouveau fichier peut être créé si le nom filename spécifié n'existe pas. La valeur est True si un nouveau fichier est créé, False dans le cas contraire. La valeur par défaut est False.

format

Facultatif. L'une des trois valeurs 3-états permettant d'indiquer le format du fichier ouvert. Si cette valeur est omise, le fichier est ouvert en mode ASCII.

Paramètres

L'argument iomode peut prendre les valeurs suivantes :

Constante | Valeur | Description
ForReading | 1 | Ouvre un fichier en lecture seule. Vous ne pouvez pas écrire dans ce fichier.
ForWriting | 2 | Ouvre un fichier en écriture seule. Vous ne pouvez pas lire à partir de ce fichier.
ForAppending | 8 | Ouvre un fichier et écrit à la fin du fichier.

L'argument format peut prendre l'une des valeurs suivantes :

Constante | Valeur | Description
TristateUseDefault | -2 | Ouvre le fichier avec la valeur par défaut du système.
TristateTrue | -1 | Ouvre le fichier comme de l'Unicode.
TristateFalse | 0 | Ouvre le fichier comme de l'ASCII.

Notes

Le code suivant illustre l'utilisation de la méthode OpenTextFile pour ouvrir un fichier et y écrire du texte :

Sub OpenTextFileTest
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   f.Close
End Sub

Voir aussi

OpenAsTextStream, méthode | CreateTextFile, méthode

Application: FileSystemObject, objet


Read, méthode

Lit un nombre spécifié de caractères dans un fichier TextStream et renvoie la chaîne résultante.

object.Read(characters)

Arguments

object

Correspond toujours au nom d'un objet TextStream.

characters

Nombre de caractères à lire dans le fichier.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode Read pour lire cinq caractères dans un fichier et renvoyer la chaîne résultante :

Function ReadTextFileTest
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f, Msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   ReadTextFileTest =  f.Read(5)
End Function

Voir aussi

Close, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


ReadAll, méthode

Lit la totalité d'un fichier TextStream et renvoie la chaîne résultante.

object.ReadAll

object correspond toujours au nom d'un objet TextStream.

Notes

Pour les fichiers volumineux, la méthode ReadAll n'utilise pas de façon rationnelle les ressources mémoire. D'autres techniques d'entrée doivent être employées, telles que la lecture d'un fichier ligne par ligne.

Function ReadAllTextFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   ReadAllTextFile =   f.ReadAll
End Function

Voir aussi

Close, méthode | Read, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


ReadLine, méthode

Lit toute une ligne (caractère de nouvelle ligne exclus) d'un fichier TextStream et renvoie la chaîne résultante.

object.ReadLine

L'argument object correspond toujours au nom d'un objet TextStream.

Notes

L'exemple ci-dessous utilise la méthode ReadLine pour lire une ligne dans un fichier TextStream et renvoyer une chaîne :

Function ReadLineTextFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   MyFile.WriteLine "Bonjour!"
   MyFile.WriteLine "Le petit renard roux et vif"
   MyFile.Close
   Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForReading)
   ReadLineTextFile = MyFile.ReadLine   ' Renvoie "Bonjour!"
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


Remove, méthode

Retire une paire clé/élément d'un objet Dictionary.

object.Remove(key)

Arguments

object

Correspond toujours au nom d'un objet Dictionary.

key

Argument associé à la paire clé/élément à retirer de l'objet Dictionary.

Notes

Une erreur se produit si la paire clé/élément n'existe pas.

Le code suivant illustre l'emploi de la méthode Remove :

Dim a, d   ' Crée des variables
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
d.Add "b", "Belgrade"
d.Add "c", "Casablanca"
...
a = d.Remove("b")   ' Retire la deuxième paire

Voir aussi

Add, méthode (Dictionary) | Exists, méthode | Items, méthode | Keys, méthode | RemoveAll, méthode

Application: Dictionary, objet


Skip, méthode

Omet un nombre spécifié de caractères lors de la lecture d'un fichier TextStream.

object.Skip(characters)

Arguments

object

Correspond toujours au nom d'un objet TextStream.

characters

Nombre de caractères à omettre lors de la lecture d'un fichier.

Notes

Les caractères omis sont ignorés.

L'exemple ci-dessous utilise la méthode Skip pour passer les huit premiers caractères avant de lire dans un fichier texte :

Function SkipTextFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   f.Skip(6)
  SkipTextFile =   f.ReadLine
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


SkipLine, méthode

Omet la ligne suivante lors de la lecture d'un fichier TextStream.

object.SkipLine

object correspond toujours au nom d'un objet TextStream.

Notes

L'omission d'une ligne implique la lecture et la suppression de tous les caractères d'une ligne, y compris du caractère de saut de ligne. Une erreur se produit si le fichier n'est pas ouvert en lecture.

L'exemple ci-dessous illustre l'utilisation de la méthode SkipLine :

Function SkipLineInFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!" & vbCrLf & "Vive VB Script!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   f.SkipLine
   SkipLineInFile = f.ReadLine
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


Write, méthode

Écrit une chaîne spécifiée dans un fichier TextStream.

object.Write(string)

Arguments

object

Correspond toujours au nom d'un objet TextStream.

string

Le texte à écrire dans le fichier.

Notes

Les chaînes spécifiées sont écrites dans le fichier sans espaces ni caractères entre chaque chaîne. Utilisez la méthode WriteLine pour écrire un caractère de saut de ligne ou une chaîne se terminant par un caractère de saut de ligne.

L'exemple ci-dessous illustre l'utilisation de la méthode Write :

Function WriteToFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   WriteToFile =   f.ReadLine
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | WriteLine, méthode | WriteBlankLines, méthode

Application: TextStream, objet


WriteBlankLines, méthode

Écrit un nombre spécifié de caractères de nouvelle ligne dans un fichier TextStream.

object.WriteBlankLines(lines)

Arguments

object

Correspond toujours au nom d'un objet TextStream.

lines

Nombre de caractères de saut de ligne à écrire dans le fichier.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode WriteBlankLines :

Function WriteBlankLinesToFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.WriteBlankLines 2
   f.WriteLine "Bonjour!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   WriteBlankLinesToFile = f.ReadAll
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode

Application: TextStream, objet


WriteLine, méthode

Écrit une chaîne spécifiée et un caractère de nouvelle ligne dans un fichier TextStream.

object.WriteLine([string])

Arguments

object

Correspond toujours au nom d'un objet TextStream.

string

Facultatif. Le texte à écrire dans le fichier. S'il est omis, un caractère de saut de ligne est écrit dans le fichier.

Notes

L'exemple ci-dessous illustre l'utilisation de la méthode WriteLine :

Function WriteLineToFile
   Const ForReading = 1, ForWriting = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.WriteLine "Bonjour!"
   f.WriteLine "Vive VBScript!"
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   WriteLineToFile = f.ReadAll
End Function

Voir aussi

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteBlankLines, méthode

Application: TextStream, objet


Dictionary

Objet qui stocke des paires clé/élément de données.

Notes

Un objet Dictionary est l'équivalent d'un tableau associatif PERL. Les éléments, pouvant correspondre à n'importe quelle forme de données, sont stockés dans le tableau. Chaque élément est associé à une clé qui lui est propre. La clé est utilisée pour extraire un élément individuel et correspond généralement à un nombre entier ou à une chaîne, mais peut être n'importe quelle information à l'exception d'un tableau.

Le code suivant illustre la création d'un objet Dictionary :

Dim d   ' Crée une variable
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
d.Add "b", "Belgrade"
d.Add "c", "Casablanca"
...

Propriétés

CompareMode, propriété | Count, propriété | Item, propriété | Key, propriété

Méthodes

Add, méthode (Dictionary) | Exists, méthode | Items, méthode | Keys, méthode | Remove, méthode | RemoveAll, méthode

FileSystemObject, objet | TextStream, objet


Drive, objet

Donne accès aux propriétés d'un lecteur de disque ou d'un partage réseau spécifié.

Notes

Le code suivant illustre l'emploi de l'objet Drive pour accéder aux propriétés de lecteur :

Function ShowFreeSpace(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espace disponible: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " KOctets"
   ShowFreeSpace = s
End Function

Propriétés

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Méthodes

L'objet Drive n'a pas de méthode.

Voir aussi

Drives, collection | File, objet | Files, collection | Folder, objet | Folders, collection | GetDrive, méthode


Drives, collection

Collection en lecture seule de tous les lecteurs disponibles.

Notes

Les lecteurs de supports amovibles apparaissent dans la collection Drives même lorsqu'ils sont vides.

Le code suivant illustre la lecture de la collection Drives et son itération à l'aide de l'instruction For Each...Next :

Function ShowDriveList
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - "
      If d.DriveType = Remote Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      End If
      s = s & n & "<BR>"
   Next
   ShowDriveList = s
End Function

Propriétés

Count, propriété | Item, propriété

Méthodes

La collection Drives n'a pas de méthode.

Voir aussi

Drive, objet | Drives, propriété | File, objet | Files, collection | Folder, objet | Folders, collection


File, objet

Donne accès aux propriétés d'un fichier.

Notes

Le code suivant illustre l'obtention d'un objet File et l'affichage d'une de ses propriétés.

Function ShowDateCreated(filespec)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   ShowDateCreated = f.DateCreated
End Function

Propriétés

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | Type, propriété

Méthodes

Copy, méthode | Delete, méthode | Move, méthode | OpenAsTextStream, méthode

Voir aussi

Drive, objet | Drives, collection | Files, collection | Folder, objet | Folders, collection


Files, collection

Collection de tous les objets File d'un dossier.

Notes

Le code suivant illustre la lecture de la collection Files et son itération à l'aide de l'instruction For Each...Next :

Function ShowFolderList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s & "<BR>"
   Next
   ShowFolderList = s
End Function

Propriétés

Count, propriété | Item, propriété

Méthodes

La collection Files n'a pas de méthode.

Voir aussi

Drive, objet | Drives, collection | File, objet | Folder, objet | Folders, collection


FileSystemObject, objet

Donne accès au système de fichiers d'un ordinateur.

Notes

Le code suivant illustre comment l'objet FileSystemObject est employé pour renvoyer un objet TextStream pouvant être lu, ou dans lequel il est possible d'écrire des informations :

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close

Dans le code ci-dessus, la fonction CreateObject renvoie l'objet FileSystemObject (fso). La méthode CreateTextFile crée ensuite le fichier sous forme d'objet TextStream (a) et la méthode WriteLine écrit une ligne de texte dans le fichier texte créé. La méthode Close vide le tampon et ferme le fichier.

Propriétés

Drives, propriété

Méthodes

BuildPath, méthode | CopyFile, méthode | CopyFolder, méthode | CreateFolder, méthode | CreateTextFile, méthode | DeleteFile, méthode | DeleteFolder, méthode | DriveExists, méthode | FileExists, méthode | FolderExists, méthode | GetAbsolutePath, méthode | GetBaseName, méthode | GetDrive, méthode | GetDriveName, méthode | GetExtensionName, méthode | GetFile, méthode | GetFileName, méthode | GetFolder, méthode | GetParentFolderName, méthode | GetSpecialFolder, méthode | GetTempName, méthode | MoveFile, méthode | MoveFolder, méthode | OpenTextFile, méthode

Voir aussi

CreateObject, fonction | Dictionary, objet | Drive, objet | Drives, collection | File, objet | FileSystem, propriété | Files, collection | Folder, objet | Folders, collection | TextStream, objet


Folder, objet

Donne accès aux propriétés d'un dossier.

Notes

Le code suivant illustre l'obtention d'un objet Folder et comment renvoyer une de ses propriétés :

Function ShowDateCreated(folderspec)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   ShowDateCreated = f.DateCreated
End Function

Propriétés

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Méthodes

Copy, méthode | Delete, méthode | Move, méthode | CreateTextFile, méthode

Voir aussi

Drive, objet | Drives, collection | File, objet | Files, collection | Folders, collection


Folders, collection

Collection de tous les objets Folder d'un objet Folder.

Notes

Le code suivant illustre la lecture de la collection Folders et son itération à l'aide de l'instruction For Each...Next :

Function ShowFolderList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.SubFolders
   For Each f1 in fc
      s = s & f1.name
      s = s &  "<BR>"
   Next
   ShowFolderList = s
End Function

Propriétés

Count, propriété | Item, propriété

Méthodes

Add, méthode

Voir aussi

Drive, objet | Drives, collection | File, objet | Files, collection | Folder, objet | SubFolders, propriété


AtEndOfLine, propriété

Renvoie la valeur True si le pointeur de fichier est positionné immédiatement après le marqueur de fin de ligne d'un fichier TextStream. La valeur False est renvoyée dans le cas contraire. En lecture seule.

object.AtEndOfLine

L'espace réservé object correspond toujours à un nom d'objet TextStream.

Notes

La propriété AtEndOfLine s'applique uniquement aux fichiers TextStream qui sont ouverts en lecture ; sinon, une erreur se produit.

Le code suivant illustre l'emploi de la propriété AtEndOfLine :

Function ReadEntireFile(filespec)
   Const ForReading = 1
   Dim fso, theFile, retstring
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set theFile = fso.OpenTextFile(filespec, ForReading, False)
   Do While theFile.AtEndOfLine <> True
      retstring = theFile.Read(1)
   Loop
   theFile.Close
   ReadEntireFile = retstring
End Function

Voir aussi

AtEndOfStream, propriété | Column, propriété | Line, propriété

Application: TextStream, objet


AtEndOfStream, propriété

Renvoie la valeur True si le pointeur de fichier se trouve à la fin d'un fichier TextStream. La valeur False est renvoyée dans le cas contraire. En lecture seule.

object.AtEndOfStream

L'espace réservé object correspond toujours au nom d'un objet TextStream.

Notes

La propriété AtEndOfStream s'applique seulement aux fichiers TextStream qui sont ouverts en lecture, sinon une erreur se produit.

Le code suivant illustre l'emploi de la propriété AtEndOfStream :

Function ReadEntireFile(filespec)
   Const ForReading = 1
   Dim fso, theFile, retstring
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set theFile = fso.OpenTextFile(filespec, ForReading, False)
   Do While theFile.AtEndOfStream <> True
      retstring = theFile.ReadLine
   Loop
   theFile.Close
   ReadEntireFile = retstring
End Function

Voir aussi

AtEndOfLine, propriété | Column, propriété | Line, propriété

Application: TextStream, objet


Attributes, propriété

Définit ou renvoie les attributs de fichiers ou de dossiers. En lecture/écriture ou lecture seule, en fonction de l'attribut.

object.Attributes [= newattributes]

Arguments

object

Requis. Correspond toujours au nom d'un objet File ou Folder.

newattributes

Facultatif. Si elle est fournie, la valeur newattributes est la nouvelle valeur des attributs de l'object spécifié.

Paramètres

L'argument newattributes peut prendre les valeurs suivantes ou toute combinaison de ces valeurs :

Constante | Valeur | Description
Normal | 0 | Fichier normal. Aucun attribut n'est défini.
ReadOnly | 1 | Fichier en lecture seule. L'attribut est lecture/écriture.
Hidden | 2 | Fichier caché. L'attribut est lecture/écriture.
System | 4 | Fichier système. L'attribut est lecture/écriture.
Directory | 16 | Dossier ou répertoire. L'attribut est lecture seule.
Archive | 32 | Le fichier a été modifié depuis la dernière sauvegarde. L'attribut est lecture/écriture.
Alias | 1024 | Lien ou raccourci. L'attribut est lecture seule.
Compressed | 2048 | Fichier compressé. L'attribut est lecture seule.

Notes

Toute tentative de modification de l'un des attributs en lecture seule (Alias, Compressed ou Directory) est ignorée.

Lors de la définition d'attributs, il est généralement recommandé de commencer par lire les attributs en cours, puis de changer chaque attribut individuellement, si besoin est, puis de réécrire les attributs.

Le code suivant illustre l'emploi de la propriété Attributes avec un fichier :

Function ToggleArchiveBit(filespec)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   If f.attributes and 32 Then
      f.attributes = f.attributes - 32
      ToggleArchiveBit = "Bit d'archive effacé."
   Else
      f.attributes = f.attributes + 32
      ToggleArchiveBit = "Bit d'archive défini."
   End If
End Function

Voir aussi

DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


AvailableSpace, propriété

Renvoie la quantité d'espace libre disponible pour un utilisateur sur le lecteur ou le partage réseau.

object.AvailableSpace

L'argument object représente toujours un objet Drive.

Notes

La valeur renvoyée par la propriété AvailableSpace est en général la même que celle renvoyée par la propriété FreeSpace. Elles peuvent présenter des différences dans le cas des systèmes d'ordinateur qui gèrent les quotas.

Le code suivant illustre l'utilisation de la propriété AvailableSpace :

Function ShowAvailableSpace(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espace disponible: " & FormatNumber(d.AvailableSpace/1024, 0)
   s = s & " KOctets"
   ShowAvailableSpace = s
End Function

Voir aussi

DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


Column, propriété

Propriété en lecture seule. Renvoie le numéro de colonne de la position de caractère courante dans un fichier TextStream.

object.Column

L'espace réservé object correspond toujours au nom d'un objet TextStream.

Notes

Après l'écriture d'un caractère de nouvelle ligne, mais avant l'écriture de tout autre caractère, la propriété Column a la valeur 1.

L'exemple ci-dessous illustre l'utilisation de la propriété Column :

Function GetColumn
   Const ForReading = 1, ForWriting = 2
   Dim fso, f, m
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!"
   f.Close
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   m =   f.ReadLine
   GetColumn = f.Column
End Function

Voir aussi

AtEndOfLine, propriété | AtEndOfStream, propriété | Line, propriété

Application: TextStream, objet


CompareMode, propriété

Définit et renvoie le mode de comparaison pour comparer les clés de chaîne dans un objet Dictionary.

object.CompareMode[ = compare]

Arguments

object

Correspond toujours au nom d'un objet Dictionary.

compare

Facultatif. Si elle est fournie, la valeur compare représente le mode de comparaison employé par diverses fonctions telles que StrComp.

Paramètres

L'argument compare peut prendre l'une des valeurs suivantes :

Constante | Valeur | Description
vbBinaryCompare | 0 | Effectuer une comparaison binaire.
vbTextCompare | 1 | Effectuer une comparaison texte.

Notes

Les valeurs supérieures à 2 peuvent être utilisées pour faire référence à des comparaisons utilisant des ID de paramètres locaux (LCID). Une erreur se produit si vous tentez de changer le mode de comparaison d'un objet Dictionary contenant déjà des données.

La propriété CompareMode utilise les mêmes valeurs que l'argument compare de la fonction StrComp.

L'exemple ci-dessous illustre l'utilisation de la propriété CompareMode :

Dim d
Set d = CreateObject("Scripting.Dictionary")

d.CompareMode = vbTextCompare
d.Add "a", "Athènes"   ' Ajoute des clés et des éléments.
d.Add "b", "Belgrade"
d.Add "c", "Casablanca"
d.Add "B", "Baltimore"   ' La méthode Add échoue sur cette ligne parce que
                         ' la lettre b existe déjà dans Dictionary.

Voir aussi

Count, propriété | Item, propriété | Key, propriété

Application: Dictionary, objet


Count, propriété

Renvoie le nombre d'éléments d'une collection ou d'un objet Dictionary. Lecture seule.

object.Count

L'argument object représente toujours le nom d'un élément de la liste Application.

Notes

Le code suivant illustre l'emploi de la propriété Count :

Function ShowKeys
   Dim a, d, i, s   ' Crée des variables
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments.
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   a = d.Keys   ' Lit les clés
   For i = 0 To d.Count -1 ' Parcourt le tableau
   s = s & a(i) & "<BR>"  ' Crée la chaîne de retour
   Next
   ShowKeys = s
End Function

Voir aussi

CompareMode, propriété | Item, propriété | Key, propriété

Application: Dictionary, objet | Drives, collection | Files, collection | Folders, collection | Matches, collection


DateCreated, propriété

Renvoie la date et l'heure de création du fichier ou du dossier spécifié. Lecture seule.

object.DateCreated

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété DateCreated avec un fichier :

Function ShowFileInfo(filespec)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   ShowFileInfo = "Créé le: " & f.DateCreated
End Function

Voir aussi

Attributes, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


DateLastAccessed, propriété

Renvoie la date et l'heure de dernier accès au fichier ou au dossier spécifié. Lecture seule.

object.DateLastAccessed

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété DateLastAccessed avec un fichier :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = UCase(filespec) & "<BR>"
   s = s & "Créé le: " & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Important Le fonctionnement de cette méthode dépend du système d'exploitation sous-jacent. Les informations de date ne sont pas renvoyées si le système d'exploitation n'en fournit pas.

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


DateLastModified, propriété

Renvoie la date et l'heure à laquelle le fichier ou le dossier spécifié a été modifié pour la dernière fois. Lecture seule.

object.DateLastModified

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété DateLastModified avec un fichier :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = UCase(filespec) & "<BR>"
   s = s & "Créé le:  & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


Drive, propriété

Renvoie la lettre du lecteur sur lequel réside le fichier ou le dossier spécifié. Lecture seule.

object.Drive

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété Drive :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = f.Name & " sur le lecteur " & UCase(f.Drive) & "<BR>"
   s = s & "Créé le: " & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


DriveLetter, propriété

Renvoie la lettre d'un lecteur local physique ou d'un partage réseau. Lecture seule.

object.DriveLetter

L'argument object représente toujours un objet Drive.

Notes

La propriété DriveLetter renvoie une chaîne de longueur nulle ("") si le lecteur spécifié n'est pas associé avec une lettre de lecteur comme, par exemple, un partage réseau qui n'est pas mappé sur une lettre de lecteur.

Le code suivant illustre l'emploi de la propriété DriveLetter :

Function ShowDriveLetter(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & d.DriveLetter & ": - "
   s = s & d.VolumeName & "<BR>"
   s = s & "Espace disponible: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " KOctets""
   ShowDriveLetter = s
End Function

Voir aussi

AvailableSpace, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


Drives, propriété

Renvoie une collection Drives constituée de tous les objets Drive disponibles sur la machine locale.

object.Drives

L'argument object représente toujours un objet FileSystemObject.

Notes

Les lecteurs de supports amovibles apparaissent dans la collection Drives même lorsqu'ils sont vides.

Vous pouvez parcourir les membres de la collection Drives en utilisant une structure For Each...Next comme illustré dans le code suivant :

Function ShowDriveList
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - "
      If d.DriveType = 3 Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      End If
      s = s & n & "<BR>"
   Next
   ShowDriveList = s
End Function

Voir aussi

Drives, collection | Files, propriété | SubFolders, propriété

Application: FileSystemObject, objet


DriveType, propriété

Renvoie une valeur indiquant le type d'un lecteur spécifié.

object.DriveType

L'argument object représente toujours un objet Drive.

Notes

Le code suivant illustre l'emploi de la propriété DriveType :

Function ShowDriveType(drvpath)
   Dim fso, d, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvpath)
   Select Case d.DriveType
      Case 0: t = "Inconnu"
      Case 1: t = "Amovible"
      Case 2: t = "Fixe"
      Case 3: t = "Réseau"
       Case 4: t = "CD-ROM"
      Case 5: t = "Disque virtuel"
   End Select
   ShowDriveType = "Lecteur " & d.DriveLetter & ": - " & t
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


Files, propriété

Renvoie une collection Files constituée de tous les objets File contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.

object.Files

L'argument object représente toujours un objet Folder.

Notes

Le code suivant illustre l'emploi de la propriété Files :

Function ShowFileList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s &  "<BR>"
   Next
   ShowFileList = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drives, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: Folder, objet


FileSystem, propriété

Renvoie le type de système de fichiers du lecteur spécifié.

object.FileSystem

L'argument object représente toujours un objet Drive.

Notes

Les types de retour disponibles sont FAT, NTFS et CDFS.

Le code suivant illustre l'utilisation de la propriété FileSystem :

Function ShowFileSystemType(drvspec)
   Dim fso,d
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvspec)
   ShowFileSystemType = d.FileSystem
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystemObject, objet | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


FreeSpace, propriété

Renvoie la quantité d'espace disponible pour un utilisateur sur le lecteur ou le partage réseau. Lecture seule.

object.FreeSpace

L'argument object représente toujours un objet Drive.

Notes

La valeur renvoyée par la propriété FreeSpace est en général la même que celle renvoyée par la propriété AvailableSpace. Elles peuvent présenter des différences dans le cas des systèmes d'ordinateur qui gèrent les quotas.

Le code suivant illustre l'emploi de la propriété FreeSpace :

Function ShowFreeSpace(drvPath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Lecteur " & UCase(drvPath) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espace disponible: "" & FormatNumber(d.FreeSpace/1024,
0)
   s = s & " KOctets"
   ShowFreeSpace = s
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


IsReady, propriété

Renvoie la valeur True si le lecteur spécifié est prêt et la valeur False dans le cas contraire.

object.IsReady

L'argument object représente toujours un objet Drive.

Notes

Pour les lecteurs de support amovible et les lecteurs de CD-ROM, IsReady renvoie True uniquement lorsque le support approprié est présent et prêt.

Le code suivant illustre l'emploi de la propriété IsReady :

Function ShowDriveInfo(drvpath)
   Dim fso, d, s, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvpath)
   Select Case d.DriveType
      Case 0: t = "Inconnu"
      Case 1: t = "Amovible"
      Case 2: t = "Fixe"
      Case 3: t = "Réseau"
      Case 4: t = "CD-ROM"
      Case 5: t = "Disque virtuel"
   End Select
   s = "Lecteur "" & d.DriveLetter & ": - " & t
   If d.IsReady Then
      s = s & "<BR>" & "Lecteur prêt.
   Else
      s = s & "<BR>" & "Lecteur non prêt."
   End If
   ShowDriveInfo = s
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


IsRootFolder, propriété

Renvoie la valeur True si le dossier spécifié est le dossier racine et la valeur False dans le cas contraire.

object.IsRootFolder

L'argument object représente toujours un objet Folder.

Notes

Le code suivant illustre l'emploi de la propriété IsRootFolder :

Function DisplayLevelDepth(pathspec)
   Dim fso, f, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(pathspec)
   If f.IsRootFolder Then
      DisplayLevelDepth = "Le dossier spécifié est le dossier racine."
   Else
      Do Until f.IsRootFolder
         Set f = f.ParentFolder
         n = n + 1
      Loop
      DisplayLevelDepth = "Le dossier spécifié se trouve " & n & " niveaux sous la racine."
   End If
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: Folder, objet


Item, propriété

Définit ou renvoie un élément pour un argument key spécifié dans un objet Dictionary. Pour les collections, cette propriété renvoie un item basé sur la key spécifiée. Lecture/écriture.

object.Item(key) [= newitem]

Arguments

object

Correspond toujours au nom d'une collection ou d'un objet Dictionary.

key

Key associée avec l'élément item lu ou ajouté.

newitem

Facultatif. Utilisé pour l'objet Dictionary uniquement, sans application pour les collections. S'il est fourni, l'élément newitem est la nouvelle valeur associée à l'argument key spécifié.

Notes

Si key est introuvable lors de la modification d'un item, une nouvelle key est créée avec le newitem spécifié. Si key est introuvable lors de la tentative de retour d'un élément existant, une nouvelle key est créée et l'élément correspondant reste vide.

L'exemple ci-dessous illustre l'utilisation de la propriété Item :

Function ItemDemo
   Dim d   ' Crée des variables
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   ItemDemo = d.Item("c")   ' Lit l'élément.
End Function

Voir aussi

CompareMode, propriété | Count, propriété | Key, propriété

Application: Dictionary, objet | Drives, collection | Files, collection | Folders, collection | Matches, collection


Key, propriété

Définit un argument key dans un objet Dictionary.

object.Key(key) = newkey

Arguments

object

Correspond toujours au nom d'un objet Dictionary.

key

La valeur de l'argument Key modifiée.

newkey

Nouvelle valeur remplaçant la valeur de l'argument key spécifiée.

Notes

Si l'argument key est introuvable lors de la modification d'une clé, une erreur d'exécution se produit.

L'exemple ci-dessous illustre l'utilisation de la propriété Key :

Function DicDemo
   Dim d   ' Crée des variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Athènes"   ' Ajoute des clés et des éléments.
   d.Add "b", "Belgrade"
   d.Add "c", "Casablanca"
   d.Key("c") = "d"   ' Affecte à la clé de "c" la valeur "d".
   DicDemo = d.Item("d")   ' Renvoie l'élément associé.
End Function

Voir aussi

CompareMode, propriété | Count, propriété | Item, propriété

Application: Dictionary, objet


Line, propriété

Propriété en lecture seule qui renvoie le numéro de ligne courant d'un fichier TextStream.

object.Line

L'espace réservé object correspond toujours au nom d'un objet TextStream.

Notes

Après l'ouverture initiale d'un fichier et avant toute écriture, Line a la valeur 1.

L'exemple ci-dessous illustre l'utilisation de la propriété Line :

Function GetLine
   Const ForReading = 1, ForWriting = 2
   Dim fso, f, ra
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Bonjour!" & vbCrLf & "Vive VB Script!" & vbCrLf
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)
   ra =   f.ReadAll
   GetLine = f.Line
End Function

Voir aussi

AtEndOfStream, propriété | AtEndOfLine, propriété | Column, propriété

Application: TextStream, objet


Name, propriété

Définit ou renvoie le nom d'un fichier ou dossier spécifié. Lecture/écriture.

object.Name [= newname]

Arguments

object

Correspond toujours au nom d'un objet File ou Folder.

newname

Facultatif. S'il est fourni, l'argument newname est le nouveau nom de l'object spécifié.

Notes

Le code suivant illustre l'emploi de la propriété Name :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = f.Name & " sur le lecteur " & UCase(f.Drive) & "<BR>"
   s = s & "Créé le: " & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


ParentFolder, propriété

Renvoie l'objet dossier pour le parent du fichier ou dossier spécifié. Lecture seule.

object.ParentFolder

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété ParentFolder avec un fichier :

Function ShowFileAccessInfo(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = UCase(f.Name) & " dans " & UCase(f.ParentFolder) & "<BR>"
   s = s & "Créé le: " & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


Path, propriété

Renvoie le chemin d'un fichier, dossier ou lecteur spécifié.

object.Path

L'argument object représente toujours un objet File, Folder ou Drive.

Notes

Pour les lettres de lecteur, la racine ne figure pas. Par exemple, le chemin du lecteur C est C:, et non pas C:\.

Le code suivant illustre l'emploi de la propriété Path avec un objet File :

Function ShowFileAccessInfo(filespec)
   Dim fso, d, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = UCase(f.Path) & "<BR>"
   s = s & "Créé le: " & f.DateCreated & "<BR>"
   s = s & "Dernier accès le: " & f.DateLastAccessed & "<BR>"
   s = s & "Dernière modification le: " & f.DateLastModified
   ShowFileAccessInfo = s
End Function

Voir aussi

Attributes, propriété | AvailableSpace, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | DriveLetter, propriété | DriveType, propriété | Files, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | TotalSize, propriété | Type, propriété | VolumeName, propriété

Application: Drive, objet | File, objet | Folder, objet


RootFolder, propriété

Renvoie un objet Folder correspondant au dossier racine d'un lecteur spécifié. Lecture seule.

object.RootFolder

L'argument object représente toujours un objet Drive.

Notes

Tous les fichiers et dossiers du lecteur sont accessibles à l'aide de l'objet Folder renvoyé.

L'exemple ci-dessous illustre l'utilisation de la propriété RootFolder :

Function ShowRootFolder(drvspec)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetDrive(drvspec)
   ShowRootFolder = f.RootFolder
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


SerialNumber, propriété

Renvoie le numéro de série décimal utilisé pour identifier de manière unique un volume de disque.

object.SerialNumber

L'argument object représente toujours un objet Drive.

Notes

Vous pouvez utiliser la propriété SerialNumber pour vous assurer que le disque approprié est présent dans un lecteur à support amovible.

Le code suivant illustre l'emploi de la propriété SerialNumber :

Function ShowDriveInfo(drvpath)
   Dim fso, d, s, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
   Select Case d.DriveType
      Case 0: t = "Inconnu"
      Case 1: t = "Amovible"
      Case 2: t = "Fixe"
      Case 3: t = "Réseau"
      Case 4: t = "CD-ROM"
      Case 5: t = "Disque virtuel"
   End Select
   s = "Lecteur " & d.DriveLetter & ": - " & t
   s = s & "<BR>" & "SN: " & d.SerialNumber
   ShowDriveInfo = s
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | ShareName, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


ShareName, propriété

Renvoie le nom du partage réseau pour un lecteur spécifié.

object.ShareName

L'argument object représente toujours un objet Drive.

Notes

Si l'argument object ne représente pas un lecteur réseau, la propriété ShareName renvoie une chaîne de longueur nulle ("").

Le code suivant illustre l'emploi de la propriété ShareName :

Function ShowDriveInfo(drvpath)
   Dim fso, d
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
   ShowDriveInfo = "Lecteur " & d.DriveLetter & ": - " & d.ShareName
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | TotalSize, propriété | VolumeName, propriété

Application: Drive, objet


ShortName, propriété

Renvoie le nom abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.

object.ShortName

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété ShareName avec un objet File :

Function ShowShortName(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = "Le nom abrégé de "   & UCase(f.Name) & "<BR>"
   s = s & "est: " & f.ShortName
   ShowShortName = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


ShortPath, propriété

Renvoie le chemin abrégé utilisé par les programmes qui emploient la convention de dénomination 8.3.

object.ShortPath

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété ShareName avec un objet File :

Function ShowShortPath(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   s = "Le chemin abrégé de " & UCase(f.Name) & "<BR>"
   s = s & "est: " & f.ShortPath
   ShowShortPath = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | Size, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


Size, propriété

Pour les fichiers, cette propriété renvoie la taille en octets du fichier spécifié. Pour les dossiers, cette propriété renvoie la taille en octets de tous les fichiers et sous-dossiers du dossier.

object.Size

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété Size avec un objet File :

Function ShowFolderSize(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(filespec)
   s = UCase(f.Name) & " utilise " & f.size & " octets."
   ShowFolderSize = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | SubFolders, propriété | Type, propriété

Application: File, objet | Folder, objet


SubFolders, propriété

Renvoie une collection Folders comprenant tous les dossiers contenus dans le dossier spécifié, y compris ceux qui sont cachés ou système.

object.SubFolders

L'argument object représente toujours un objet Folder.

Notes

Le code suivant illustre l'emploi de la propriété SubFolders :

Function ShowFolderList(folderspec)
   Dim fso, f, f1, s, sf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set sf = f.SubFolders
   For Each f1 in sf
      s = s & f1.name
      s = s & "<BR>"
   Next
   ShowFolderList = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | Type, propriété

Application: Folder, objet


TotalSize, propriété

Renvoie l'espace total, en octets, d'un lecteur ou d'un partage réseau.

object.TotalSize

L'argument object représente toujours un objet Drive.

Notes

Le code suivant illustre l'emploi de la propriété TotalSize :

Function ShowSpaceInfo(drvpath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
   s = "Lecteur " & d.DriveLetter & ":"
   s = s & vbCrLf
   s = s & "Taille totale: " & FormatNumber(d.TotalSize/1024, 0) & " KOctets"
   s = s & vbCrLf
   s = s & "Disponible: " & FormatNumber(d.AvailableSpace/1024, 0) & " KOctets"
   ShowSpaceInfo = s
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | VolumeName, propriété

Application: Drive, objet


Type, propriété

Renvoie des informations sur le type d'un fichier ou dossier. Par exemple, pour les fichiers terminés par .TXT, la propriété renvoie "Document texte".

object.Type

L'argument object représente toujours un objet File ou Folder.

Notes

Le code suivant illustre l'emploi de la propriété Type pour renvoyer un type de dossier. Dans cet exemple, essayez de fournir à la procédure le chemin de la Corbeille ou d'un autre dossier unique.

Function ShowFolderType(filespec)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(filespec)
   s = UCase(f.Name) & " est un " & f.Type
   ShowFolderType = s
End Function

Voir aussi

Attributes, propriété | DateCreated, propriété | DateLastAccessed, propriété | DateLastModified, propriété | Drive, propriété | Files, propriété | IsRootFolder, propriété | Name, propriété | ParentFolder, propriété | Path, propriété | ShortName, propriété | ShortPath, propriété | Size, propriété | SubFolders, propriété

Application: File, objet | Folder, objet


VolumeName, propriété

Définit ou renvoie le nom de volume du lecteur spécifié. Lecture/écriture.

object.VolumeName [= newname]

Arguments

object

Correspond toujours au nom d'un objet Drive.

newname

Facultatif. S'il est fourni, l'argument newname est le nouveau nom de l'object spécifié.

Note

Le code suivant illustre l'emploi de la propriété VolumeName :

Function ShowVolumeInfo(drvpath)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
   s = "Lecteur " & d.DriveLetter & ": - " & d.VolumeName
   ShowVolumeInfo = s
End Function

Voir aussi

AvailableSpace, propriété | DriveLetter, propriété | DriveType, propriété | FileSystem, propriété | FreeSpace, propriété | IsReady, propriété | Path, propriété | RootFolder, propriété | SerialNumber, propriété | ShareName, propriété | TotalSize, propriété

Application: Drive, objet


Introduction aux expressions régulières

Les informations présentées ici servent d'introduction aux expressions régulières en général.

Si un effort particulier a été fait pour faire de chaque rubrique une source d'information indépendante, les sujets abordés dans ces rubriques sont étroitement liés à d'autres fonctions ou concepts présentés à un autre endroit. Nous vous invitons par conséquent à lire attentivement ces rubriques dans l'ordre où elles sont présentées afin d'acquérir la meilleure compréhension possible du sujet.

L'introduction aux expressions régulières regroupe les rubriques individuelles suivantes :

Expressions régulières

Une origine lointaine

Utilisation des expressions régulières

Syntaxe d'une expression régulière

Création d'une expression régulière

Ordre de priorité

Caractères ordinaires

Caractères spéciaux

Caractères non imprimables

Correspondance de caractères

Quantifiants

Ancrages

Alternative et regroupement

Références arrières


Expressions régulières

Si vous n'avez encore jamais utilisé d'expressions régulières, le terme et le concept vous semblent certainement inconnus. Mais ils vous sont peut-être plus familiers que vous ne le pensez.

Pensez à la manière dont vous recherchez des fichiers sur votre disque dur. Vous utilisez certainement les caractères ? et * pour retrouver certains fichiers. Le point d'interrogation (?) remplace un caractère unique dans le nom d'un fichier, tandis que l'astérisque (*) correspond à zéro caractère ou plus. Le modèle 'fichier?.dat', par exemple, permettrait de retrouver les fichiers suivants :

fichier1.dat

fichier2.dat

fichierx.dat

fichierN.dat

L'utilisation de l'astérisque (*) au lieu du point d'interrogation (?) permet de retrouver un plus grand nombre de fichiers. 'fichier*.dat', par exemple, permettrait de retrouver les fichiers suivants :

fichier.dat

fichier1.dat

fichier2.dat

fichier12.dat

fichierx.dat

fichierXYZ.dat

Si cette méthode de recherche des fichiers est très pratique, elle n'en demeure pas moins très limitée. La capacité limitée des caractères génériques ? et * donnent une idée de ce que peuvent apporter les expressions régulières, même si leur puissance et leur souplesse d'emploi sont bien supérieures.


Une origine lointaine

Les expressions régulières datent de l'époque où s'effectuèrent les premières recherches sur le fonctionnement du système nerveux de l'homme. Warren McCulloch et Walter Pitts, tous deux neuro-physiologistes, mirent au point une formule mathématique permettant de décrire ces réseaux neuraux.

En 1956, un mathématicien américain nommé Stephen Kleene publia, en s'appuyant sur les travaux de McCulloch et Pitts, un article appelé Representation of Events in Nerve Nets (représentation des événements dans les réseaux nerveux) traitant pour la première fois du concept des expressions régulières. Il s'agissait d'expressions utilisées pour décrire ce qu'il appelait "l'algèbre des ensembles réguliers", d'où le terme "expression régulière".

Par la suite, ses travaux furent prolongés par Ken Thompson, le principal inventeur du système Unix, sous la forme d'algorithmes de recherche sur des calculs. La première application pratique des expressions régulières se trouve dans l'éditeur Unix appelé qed.

Et la suite, c'est de l'histoire ! Les expressions régulières ont joué depuis un rôle important dans les éditeurs de texte et les outils de recherche.


Utilisation des expressions régulières

Dans une opération de recherche et de remplacement type, vous devez fournir le texte exact que vous recherchez. Si cette technique se prête parfaitement bien aux opérations de recherche et de remplacement simples, elle manque toutefois de souplesse et rend la recherche de texte dynamique difficile, voire impossible.

Grâce aux expressions régulières, vous disposez des possibilités suivantes :

  • Test d'un modèle à l'intérieur d'une chaîne. Vous pouvez, par exemple, tester une chaîne d'entrée pour voir si un modèle de numéro de téléphone ou de carte bancaire se trouve au sein de la chaîne. C'est ce qu'on appelle la validation des données.
  • Remplacement de texte. Vous pouvez utiliser une expression régulière pour identifier un texte spécifique dans un document et le supprimer complètement ou le remplacer par un autre texte.
  • Extraction d'une sous-chaîne à partir d'une chaîne basée sur une correspondance de modèle. Vous pouvez rechercher un texte spécifique dans un document ou dans un champ de saisie.

Si, par exemple, vous devez effectuer une recherche dans l'intégralité d'un site Web afin de supprimer des informations obsolètes et remplacer des balises de mise en forme HTML, vous pouvez faire appel à une expression régulière pour vérifier si les informations ou les balises HTML que vous recherchez sont présentes dans chacun des fichiers. Ce faisant, vous pouvez restreindre le nombre de fichiers concernés et vous limiter à ceux contenant les informations ou balises à supprimer ou à modifier. Vous pouvez également utiliser une expression régulière pour supprimer les informations obsolètes et pour rechercher et remplacer les balises incorrectes.

Prenons un autre exemple illustrant l'utilité des expressions régulières. Leur utilisation est précieuse dans un langage qui n'est pas réputé pour ses capacités de gestion des chaînes. VBScript, un sous-ensemble de Visual Basic, bénéficie de nombreuses fonctions de gestion des chaînes. Ce n'est pas le cas, en revanche, de JScript, ni du langage C. Dans ce cas, les expressions régulières améliorent notablement la gestion des chaînes pour JScript. Toutefois, les expressions régulières peuvent s'avérer très utiles dans VBScript également, dans la mesure où elles vous permettent d'effectuer des manipulations de plusieurs chaînes dans une seule expression.


Syntaxe d'une expression régulière

Une expression régulière est un modèle de texte comportant des caractères ordinaires (des lettres a jusqu'à z, par exemple) et des caractères spéciaux, connus sous le nom de métacaractères. Ce modèle décrit une ou plusieurs chaînes pour lesquelles vous recherchez une correspondance dans le corps d'un texte. L'expression régulière sert de modèle pour la correspondance d'une suite précise de caractères avec la chaîne recherchée.

Voici quelques exemples d'expressions régulières que vous êtes susceptible de rencontrer :

JScript | VBScript | Correspondances
/^\[ \t]*$/ | "^\[ \t]*$" | Correspond à une ligne vierge.
/\d{2}-\d{5}/ | "\d{2}-\d{5}" | Valide un numéro d'identification composé de 2 chiffres, d'un tiret et de 5 autres chiffres.
/<(.*)>.*<\/\1>/ | "<(.*)>.*<\/\1>" | Correspond à une balise HTML.

Le tableau suivant contient la liste complète des métacaractères et de leur comportement dans le contexte des expressions régulières :

Caractère | Description
\ | Marque le caractère suivant comme caractère spécial, littéral, référence arrière ou caractère d'échappement octal. Par exemple, 'n' correspond au caractère "n". '\n' correspond au caractère de saut de ligne. La séquence '\\' correspond à "\" et "\(" correspond à "(".
^ | Recherche la position au début de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, ^ correspond également à la position suivant '\n' ou '\r'.
$ | Recherche la position à la fin de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, $ correspond également à la position précédant '\n' ou '\r'.
* | Recherche la sous-expression précédente zéro fois ou plusieurs fois. Ainsi, zo* correspond à "z" et à "zoo". * équivaut à {0,}.
+ | Recherche la sous-expression précédente une ou plusieurs fois. Ainsi, 'zo+' correspond à "zo" et à "zoo", mais pas à "z". + équivaut à {1,}.
? | Recherche la sous-expression précédente zéro fois ou une fois. Par exemple, "elle(s)?" retrouve "elle" dans "elle" ou "elles". ? équivaut à {0,1}
{n} | n est un entier non négatif. Correspond exactement à n fois. Par exemple, 'o{2}' ne correspond pas à 'o' dans "Bob," mais aux deux "o" dans "foot".
{n,} | n est un entier non négatif. Correspond à au moins n fois. Par exemple, 'o{2,}' ne correspond pas à "o" dans "Bob", mais correspond à tous les "o" dans "fooooot". 'o{1,}' équivaut à 'o+'. 'o{0,}' équivaut à 'o*'.
{n,m} | m et n sont des entiers non négatifs, où n <= m. Correspond à au moins n fois et à au plus m fois. Par exemple, "o{1,3}" correspond aux trois premiers "o" dans "foooooot". 'o{0,1}' équivaut à 'o?'. Notez que vous ne pouvez pas mettre d'espace entre la virgule et les chiffres.
? | Lorsque ce caractère suit immédiatement l'un des autres quantifiants (*, +, ?, {n}, {n,}, {n,m}), le modèle de correspondance est dit non gourmand. Autrement dit, il retrouve un minimum de caractères dans la chaîne de recherche. À l'inverse, le modèle par défaut est dit gourmand, car il en retrouve un maximum. Par exemple, dans la chaîne "oooo", 'o+?' correspond à un seul "o", alors que 'o+' correspond à tous les 'o'.
. | Recherche n'importe quel caractère unique, à l'exception de "\n". Pour retrouver n'importe quel caractère, y compris '\n', utilisez un modèle tel que '[.\n]'.
(modèle) | Recherche le modèle et capture la correspondance. Cette dernière peut être extraite de la collection Matches obtenue à l'aide de la collection SubMatches dans VBScript ou des propriétés $0…$9 dans JScript. Pour retrouver les caractères parenthèses ( ), utilisez '\(' ou '\)'.
(?:modèle) | Recherche le modèle mais ne capture pas la correspondance. Autrement dit, cette correspondance n'est pas stockée en vue d'une utilisation ultérieure. Ce peut être utile pour combiner différentes parties d'un modèle avec le caractère "or" (|). Par exemple, 'anima(?:l|ux) constitue une expression beaucoup plus économique que 'animal|animaux'.
(?=modèle) | L'analyse positive retrouve la chaîne de recherche à n'importe quel point où commence une chaîne correspondant au modèle. Il s'agit d'une correspondance sans capture. Autrement dit, la correspondance ne pourra pas être utilisée ultérieurement. Par exemple, 'Windows (?=95|98|NT|2000)' correspond à "Windows" dans "Windows 2000" mais pas à "Windows" dans "Windows 3.1". Les analyses positives ne consomment pas de caractères. Autrement dit, une fois qu'une correspondance a été trouvée, la recherche de la suivante commence immédiatement après la dernière correspondance, et non après les caractères composant le modèle d'analyse.
(?!modèle) | L'analyse négative retrouve la chaîne de recherche à n'importe quel point où commence une chaîne ne correspondant pas au modèle. Il s'agit d'une correspondance sans capture. Autrement dit, la correspondance ne pourra pas être utilisée ultérieurement. Par exemple 'Windows (?!95|98|NT|2000)' correspond à "Windows" dans "Windows 3.1" mais pas à "Windows" dans "Windows 2000". Les analyses négatives ne consomment pas de caractères. Autrement dit, une fois qu'une correspondance a été trouvée, la recherche de la suivante commence immédiatement après la dernière correspondance, et non après les caractères composant le modèle d'analyse.
x|y | Correspond soit à x soit à y. Par exemple, "z|foot" correspond à "z" ou à "foot". "(m|f)ou" correspond à "mou" ou à "fou".
[xyz] | Jeu de caractères. Recherche l'un des caractères indiqués. Par exemple, "[abc]" correspond à "a" dans "plat".
[^xyz] | Jeu de caractères négatif. Recherche tout caractère non indiqué. Par exemple, "[^abc]" correspond à "p" dans "plat".
[a-z] | Plage de caractères. Recherche tout caractère dans la plage spécifiée. Par exemple, "[a-z]" correspond à tout caractère alphabétique minuscule compris entre "a" et "z".
[^a-z] | Plage de caractères négative. Recherche tout caractère ne se trouvant pas dans la plage spécifiée. Par exemple, "[a-z]" correspond à tout caractère ne se trouvant pas entre "a" et "z".
\b | Recherche une limite de mot. Il s'agit de la position entre un mot et un espace. Par exemple, "er\b" correspond à "er" dans "lever", mais pas à "er" dans "verbe".
\B | Recherche une limite de mot négative. "er\B" correspond à "er" dans "verbe" mais pas à "er" dans "lever".
\cx | Recherche le caractère de contrôle indiqué par x. Par exemple, \cM correspond à Ctrl-M ou à un caractère de retour chariot. La valeur x doit se trouver dans la plage A-Z ou a-z. Si ce n'est pas le cas, "c" est supposé être le caractère littéral "c".
\d | Recherche un caractère représentant un chiffre. Équivaut à [0-9].
\D | Recherche un caractère ne représentant pas un chiffre. Équivaut à [^0-9].
\f | Recherche un caractère de saut de page. Équivaut à \x0c et à \cL.
\n | Recherche un caractère de nouvelle ligne. Équivaut à \x0a et à \cJ.
\r | Recherche un caractère de retour chariot. Équivaut à \x0d et à \cM.
\s | Recherche tout espace blanc, y compris l'espace, la tabulation, le saut de page, etc. Équivaut à [ \f\n\r\t\v].
\S | Recherche tout caractère d'espace non blanc. Équivaut à [^ \f\n\r\t\v].
\t | Recherche un caractère de tabulation. Équivaut à \x09 et à \cI.
\v | Recherche un caractère de tabulation verticale. Équivaut à \x0b et à \cK.
\w | Recherche tout caractère représentant un mot, y compris le trait de soulignement. Équivaut à '[A-Za-z0-9_]'.
\W | Recherche tout caractère ne représentant pas un mot. Équivaut à '[^A-Za-z0-9_]'.
\xn | Recherche n, où n est une valeur d'échappement hexadécimale. Les valeurs d'échappement hexadécimales doivent obligatoirement comprendre deux chiffres exactement. Par exemple, '\x41' correspond à "A". '\x041' équivaut à '\x04' & "1". Permet d'utiliser les codes ASCII dans des expressions régulières.
\num | Recherche num, où num est un entier positif. Référence arrière aux correspondances capturées. Par exemple, '(.)\1' correspond à deux caractères identiques consécutifs.
\n | Détermine s'il s'agit d'une valeur d'échappement octale ou d'une référence arrière. Si \n est précédé d'au moins n sous-expressions capturées, n est une référence arrière. Sinon, n est une valeur d'échappement octale si n est un chiffre octal (0-7).
\nm | Détermine s'il s'agit d'une valeur d'échappement octale ou d'une référence arrière. Si \nm est précédé d'au moins nm sous-expressions capturées, nm est une référence arrière. Si \nm est précédé d'au moins n captures, n est une référence arrière suivie d'un littéral m. Si aucune des conditions précitées n'existe, \nm correspond à une valeur d'échappement octale nm où n et m sont des chiffres octaux (0-7).
\nml | Recherche une valeur d'échappement octale nml où n est un chiffre octal (0-3) et m et l sont des chiffres octaux (0-7).
\un | Recherche n, où n est un caractère Unicode exprimé sous la forme de quatre chiffres hexadécimaux. Par exemple, \u00A9 retrouve le symbole copyright (©).


Création d'une expression régulière

Les expressions régulières sont formées de la même manière que les expressions arithmétiques. Autrement dit, plusieurs petites expressions sont combinées à l'aide de divers métacaractères et opérateurs afin de créer des expressions plus importantes.

Pour créer une expression régulière, placez les différents composants du modèle de l'expression entre des délimiteurs. Dans JScript, les délimiteurs correspondent aux caractères de barre oblique (/). Exemple :

/expression/

Dans VBScript, ce sont les guillemets ("") qui délimitent les expressions régulières. Exemple :

"expression"

Dans les deux exemples précédents, le modèle d'expression régulière (expression) est enregistré dans la propriété Pattern de l'objet RegExp.

Les composants d'une expression régulière peuvent être des caractères individuels, des jeux de caractères, des plages de caractères, des choix entre caractères ou une combinaison de tous ces composants.


Ordre de priorité

Une fois que vous avez créé une expression régulière, elle est évaluée à la manière d'une expression arithmétique, c'est-à-dire de gauche à droite et selon un ordre de priorité déterminé.

Le tableau suivant illustre l'ordre décroissant de priorité des différents opérateurs d'expression régulière :

Opérateur(s) | Description
\ | Échappement
(), (?:), (?=), [] | Parenthèses et crochets
*, +, ?, {n}, {n,}, {n,m} | Quantifiants
^, $, \tout_métacaractère | Ancrages et séquences
| | Alternative


Caractères ordinaires

Les caractères ordinaires représentent tous les caractères imprimables et non imprimables qui ne sont pas désignés explicitement comme métacaractères. Cela inclut tous les caractères alphabétiques (majuscules et minuscules), tous les chiffres, tous les signes de ponctuation et certains symboles.

Dans sa forme la plus simple, une expression régulière est un caractère ordinaire unique correspondant à lui-même dans une chaîne de recherche. Par exemple, le modèle de caractère simple 'A' correspond à chaque occurrence de la lettre 'A' dans la chaîne de recherche. Voici quelques exemples de modèles d'expressions régulières à un seul caractère :

/a/
/7/
/M/

Voici l'équivalent de ces expressions dans VBScript :

"a"
"7"
"M"

Vous pouvez combiner plusieurs caractères simples pour former une expression plus importante. L'expression régulière JScript suivante, par exemple, n'est rien de plus qu'une expression créée en combinant les expressions à un seul caractère 'a', '7' et 'M'.

/a7M/

Voici l'équivalent dans VBScript :

"a7M"

Notez l'absence d'opérateur de concaténation. Il suffit d'ajouter un caractère à la suite de l'autre.


Caractères spéciaux

Lorsque vous recherchez certains métacaractères, un traitement spécial s'impose. Pour trouver des correspondances à ces caractères spéciaux, vous devez d'abord insérer un caractère d'échappement, à savoir la barre oblique inverse (\), avant le caractère spécial en question. Le tableau suivant énumère les caractères spéciaux et leur signification :

Caractère spécial | Commentaire
$ | Recherche la position à la fin de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, $ correspond également à la position précédant '\n' ou '\r'. Pour retrouver le caractère $ lui-même, utilisez \$.
( ) | Marque le début et la fin d'une sous-expression. Les sous-expressions peuvent être capturées en vue d'une utilisation ultérieure. Pour retrouver ces caractères, utilisez \( et \).
* | Recherche la sous-expression précédente zéro ou plusieurs fois. Pour retrouver le caractère *, utilisez \*.
+ | Recherche la sous-expression précédente une ou plusieurs fois. Pour retrouver le caractère +, utilisez \+.
. | Recherche tout caractère unique à l'exception du caractère de saut de ligne \n. Pour retrouver ., utilisez \.
[ | Marque le début d'une expression entre crochets. Pour retrouver [, utilisez \[.
? | Recherche la sous-expression précédente zéro fois ou une fois, ou indique un quantifiant non gourmand. Pour retrouver le caractère ?, utilisez \?.
\ | Marque le caractère suivant comme caractère spécial, littéral, référence arrière ou caractère d'échappement octal. Par exemple, 'n' correspond au caractère "n". '\n' correspond au caractère de saut de ligne. La séquence '\\' correspond à "\" et "\(" correspond à "(".
^ | Recherche la position au début d'une chaîne d'entrée sauf lorsqu'il est utilisé dans une expression entre crochets pour nier le jeu de caractères. Pour retrouver le caractère ^ lui-même, utilisez \^.
{ | Marque le début d'une expression de quantifiant. Pour retrouver {, utilisez \{.
| | Indique un choix entre deux éléments. Pour retrouver |, utilisez \|.


Caractères non imprimables

Plusieurs caractères non imprimables peuvent s'avérer utiles en certaines occasions. Le tableau suivant montre les séquences d'échappement utilisées pour représenter ces caractères non imprimables :

Caractère | Signification
\cx | Recherche le caractère de contrôle indiqué par x. Par exemple, \cM correspond à Ctrl-M ou à un caractère de retour chariot. La valeur x doit se trouver dans la plage A-Z ou a-z. Si ce n'est pas le cas, "c" est supposé être le caractère littéral 'c'.
\f | Recherche un caractère de saut de page. Équivaut à \x0c et à \cL.
\n | Recherche un caractère de saut de ligne. Équivaut à \x0a et à \cJ.
\r | Recherche un caractère de retour chariot. Équivaut à \x0d et à \cM.
\s | Recherche tout espace blanc, y compris l'espace, la tabulation, le saut de page, etc. Équivaut à [\f\n\r\t\v].
\S | Recherche tout caractère d'espace non blanc. Équivaut à [^ \f\n\r\t\v].
\t | Recherche un caractère de tabulation. Équivaut à \x09 et à \cI.
\v | Recherche un caractère de tabulation verticale. Équivaut à \x0b et à \cK.


Correspondance de caractères

Le point (.) correspond à tout caractère unique imprimable ou non d'une chaîne, à l'exception du caractère de saut de ligne (\n). L'expression régulière JScript suivante correspond à 'aac', 'abc', 'acc', 'adc', etc., ainsi qu'à 'a1c', 'a2c', a-c' et a#c' :

/a.c/

Voici l'équivalent de cette expression régulière dans VBScript :

"a.c"

Si vous recherchez une chaîne contenant un nom de fichier dans lequel un point (.) fait partie de la chaîne d'entrée, vous devez faire précéder le point de l'expression régulière par une barre oblique inverse (\). L'expression régulière JScript suivante, par exemple, retrouve 'fichier.ext' :

/fichier\.ext/

Voici l'équivalent de cette expression régulière dans VBScript :

"fichier\.ext"

Ces expressions sont toujours relativement limitées. Elles ne vous permettent de rechercher qu'un seul caractère. Il est souvent utile de rechercher des caractères spécifiés à partir d'une liste. Si, par exemple, vous avez un texte contenant des titres de chapitre numérotés (Chapitre 1, Chapitre 2, etc.), vous pourrez avoir besoin de retrouver ces titres.

Expressions entre crochets

Vous pouvez créer une liste de caractères de correspondance en mettant un ou plusieurs caractères individuels entre crochets ([ et ]). Lorsque des caractères sont mis entre crochets, on parle d'expression entre crochets. À l'intérieur des crochets, tout comme partout ailleurs, les caractères ordinaires représentent ces mêmes caractères et retrouvent une occurrence d'eux-mêmes dans le texte d'entrée. La plupart des caractères spéciaux perdent leur signification lorsqu'ils se trouvent au sein d'une expression entre crochets. Voici quelques exceptions :

  • Le caractère ']' termine une liste s'il ne s'agit pas du premier élément. Pour retrouver le caractère ']' dans une liste, placez-le en premier, immédiatement après le crochet de gauche '['.
  • Le caractère '\' reste le caractère d'échappement. Pour retrouver le caractère '\', utilisez '\\'.

Les caractères se trouvant dans une expression entre crochets correspondent à un seul caractère à la position d'apparition de l'expression entre crochets dans l'expression régulière. L'expression régulière JScript suivante retrouve 'Chapitre 1', 'Chapitre 2', 'Chapitre 3', 'Chapitre 4' et 'Chapitre 5' :

/Chapitre [12345]/

Pour retrouver les mêmes titres de chapitre dans VBScript, utilisez ce qui suit :

"Chapitre [12345]"

Notez que le mot 'Chapitre' et l'espace qui suit sont fixés à une position relative aux caractères entre crochets. L'expression entre crochets est alors utilisée pour spécifier uniquement le jeu de caractères correspondant à la position du caractère unique qui suit immédiatement le mot 'Chapitre' et l'espace. Dans notre exemple, il s'agit de la position du dixième caractère.

Si vous voulez exprimer les caractères de recherche à l'aide d'une plage plutôt qu'avec des caractères proprement dits, vous pouvez séparer les caractères de début et de fin dans la plage par un tiret (-). La valeur des caractères individuels détermine leur ordre relatif dans une plage. L'expression régulière JScript suivante contient une expression de plage équivalant à la liste entre crochets décrite précédemment.

/Chapitre [1-5]/

Dans VBScript, l'expression prend la forme suivante :

"Chapitre [1-5]"

Lorsqu'une plage est spécifiée de cette manière, les valeurs de début et de fin sont toutes les deux comprises dans la plage. Il est important de préciser que la valeur de début doit précéder la valeur de fin dans l'ordre de tri Unicode.

Si vous voulez inclure le tiret dans votre expression entre crochets, vous devez procéder de l'une des manières suivantes :

  • Utiliser la barre oblique inverse comme caractère d'échappement :
    [\-]
  • Placer le tiret au début ou à la fin de la liste entre crochets. Les expressions suivantes correspondent à toutes les lettres minuscules et au tiret :
    [-a-z]
[a-z-]
  • Créer une plage où la valeur du premier caractère est inférieure au tiret et où la valeur du dernier caractère est supérieure ou égale au tiret. Les deux expressions régulières suivantes remplissent cette condition :
    [!--]
[!-~]

Vous pouvez également retrouver tous les caractères ne se trouvant pas dans la liste ou la plage en insérant le symbole ^ au début de la liste. Si ce dernier apparaît à un autre endroit de la liste, il correspond à lui-même et n'a donc aucune signification spéciale. L'expression régulière JScript suivante retrouve les titres de chapitre dont les numéros sont supérieurs à 5' :

/Chapitre [^12345]/

Dans VBScript, utilisez :

"Chapitre [^12345]"

Dans les exemples ci-dessus, l'expression retrouve tout chiffre en dixième position, à l'exception de 1, 2, 3, 4 ou 5. Ainsi, elle permet de retrouver 'Chapitre 7' et 'Chapitre 9', par exemple.

La même expression peut être représentée à l'aide du tiret (-). Dans JScript :

/Chapitre [^1-5]/

Dans VBScript :

"Chapitre [^1-5]"

En principe, les expressions entre crochets permettent de retrouver des chiffres ou des caractères alphabétiques en majuscules ou en minuscules. L'expression JScript suivante illustre une telle application :

/[A-Za-z0-9]/

Voici l'équivalent dans VBScript :

"[A-Za-z0-9]"


Quantifiants

Vous ne connaissez pas toujours le nombre exact de caractères à rechercher. Pour contourner ce genre de problème, les expressions régulières gèrent les quantifiants. Ces derniers vous permettent de spécifier le nombre de fois qu'un composant donné de votre expression régulière doit être présent pour que la correspondance soit considérée comme exacte.

Le tableau suivant illustre les différents quantifiants et leur signification :

Caractère | Description
* | Recherche la sous-expression précédente zéro ou plusieurs fois. Ainsi, 'zo*' correspond à "z" et à "zoo". * équivaut à {0,}.
+ | Recherche la sous-expression précédente une ou plusieurs fois. Ainsi, 'zo+' correspond à "zo" et à "zoo", mais pas à "z". + équivaut à {1,}.
? | Recherche la sous-expression précédente zéro ou une fois. Par exemple, "elle(s)?" retrouve "elle" dans "elle" ou "elles". ? équivaut à {0,1}.
{n} | n est un entier non négatif. Correspond exactement à n fois. Par exemple, 'o{2}' ne correspond pas à 'o' dans "Bob," mais aux deux "o" dans "foot".
{n,} | n est un entier non négatif. Correspond à au moins n fois. Par exemple, 'o{2,}' ne correspond pas à 'o' dans "Bob", mais correspond à tous les "o" dans "fooooot". 'o{1,}' équivaut à 'o+'. 'o{0,}' équivaut à 'o*'.
{n,m} | m et n sont des entiers non négatifs, où n <= m. Correspond à au moins n fois et à au plus m fois. Par exemple, 'o{1,3}' correspond aux trois premiers "o" dans "foooooot". 'o{0,1}' équivaut à 'o?'. Notez que vous ne pouvez pas mettre d'espace entre la virgule et les chiffres.

Lorsque le document initial est volumineux, le nombre de chapitres peut facilement dépasser neuf ; c'est pourquoi il fallait trouver un moyen de gérer les numéros de chapitre à deux ou trois chiffres. Les quantifiants offrent cette possibilité. L'expression régulière JScript suivante permet de retrouver les titres de chapitres, quel que soit le nombre de chiffres qu'ils contiennent :

/Chapitre [1-9][0-9]*/

L'expression régulière VBScript suivante a exactement le même rôle :

"Chapitre [1-9][0-9]*"

Notez que le quantifiant apparaît à la suite de l'expression de plage. Par conséquent, il s'applique à l'expression de plage dans son intégralité qui, dans notre exemple, spécifie uniquement les chiffres compris entre 0 et 9 (inclus).

Le quantifiant '+' n'est pas utilisé ici car un chiffre en deuxième position ou en position suivante n'est pas nécessaire ici. Le caractère '?' n'est pas non plus utilisé car il limite les numéros de chapitre à deux chiffres uniquement. Vous voulez seulement retrouver au moins un chiffre à la suite de 'Chapitre' et de l'espace.

Si vous savez que le nombre de chapitres ne dépasse pas 99, vous pouvez utiliser l'expression JScript suivante pour spécifier au moins un, mais pas plus de 2 chiffres.

/Chapitre [0-9]{1,2}/

Dans VBScript, utilisez l'expression régulière suivante :

"Chapitre [0-9]{1,2}"

L'inconvénient de l'expression ci-dessus est que si le nombre de chapitres est supérieur à 99, elle ne recherchera que les deux premiers chiffres. De même, si quelqu'un a créé un Chapitre 0, il sera retrouvé. Mieux vaut alors utiliser l'expression JScript suivante pour retrouver uniquement deux chiffres :

/Chapitre [1-9][0-9]?/

ou

/Chapitre [1-9][0-9]{0,1}/

Dans VBScript, les expressions suivantes sont équivalentes :

"Chapitre [1-9][0-9]?"

ou

"Chapitre [1-9][0-9]{0,1}"

Les quantifiants '*', '+' et '?' sont qualifiés de gourmands, car ils retrouvent autant de texte que possible. Parfois, vous voulez exactement le contraire et ne souhaitez retrouver qu'une correspondance minimale.

Imaginons que vous recherchiez un titre de chapitre délimité par une balise H1 dans un document HTML. Ce texte apparaît dans votre document comme suit :

<H1>Chapitre 1 – Introduction aux expressions régulières</H1>

L'expression suivante retrouve tout ce qui se trouve entre le symbole inférieur à (<) de début et le symbole supérieur à (>) à la fin de la balise H1.

/<.*>/

Voici l'expression régulière équivalente dans VBScript :

"<.*>"

Si vous souhaitez uniquement rechercher la première balise H1, l'expression non gourmande suivante retrouvera seulement <H1>.

/<.*?>/

ou

"<.*?>"

En plaçant le point d'interrogation ('?') après un quantifiant '*', '+' ou '?', vous transformez l'expression gourmande en expression non gourmande (correspondance minimale).


Ancrages

Jusqu'à présent, les exemples que nous avons vus consistaient uniquement à retrouver chacune des occurrences de numéros de chapitre. Les occurrences de la chaîne 'Chapitre' suivie d'un espace puis d'un numéro, pouvaient tout aussi bien correspondre à un titre de chapitre qu'à une référence croisée à un autre chapitre. Étant donné que les véritables titres de chapitre apparaissent toujours en début de ligne, vous devez imaginer un moyen de ne retrouver que ces titres et d'ignorer les références croisées.

Les ancrages offrent cette possibilité. Ils vous permettent de fixer une expression régulière soit au début, soit à la fin d'une ligne. Ils vous permettent également de créer des expressions régulières qui se produisent soit au milieu d'un mot, soit au début ou en fin de mot. Le tableau suivant contient la liste des ancrages d'expressions régulières et leur signification :

Caractère | Description
^ | Recherche la position au début de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, ^ correspond également à la position suivant '\n' ou '\r'.
$ | Recherche la position à la fin de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, $ correspond également à la position précédant '\n' ou '\r'.
\b | Recherche une limite de mot, autrement dit, la position entre un mot et un espace.
\B | Recherche une limite de mot négative.

Vous ne pouvez pas utiliser un quantifiant avec un ancrage. Comme vous ne pouvez pas avoir plus d'une position immédiatement avant ou après un saut de ligne ou une limite de mot, les expressions telles que '^*' ne sont pas autorisées.

Pour retrouver un texte au début d'une ligne de texte, utilisez le caractère '^' au début de l'expression régulière. Ne confondez pas l'utilisation de '^' avec celle concernant une expression entre crochets. Cela n'a rien à voir.

Pour retrouver un texte à la fin d'une ligne de texte, utilisez le caractère '$' à la fin de l'expression régulière.

Vous pouvez utiliser des ancrages pour la recherche de titres de chapitre. L'expression régulière JScript suivante retrouve un titre de chapitre contenant deux chiffres maximum, placé en début de ligne :

/^Chapitre [1-9][0-9]{0,1}/

Voici l'équivalent dans VBScript :

"^Chapitre [1-9][0-9]{0,1}"

Non seulement un véritable titre de chapitre se trouve en début de ligne, mais c'est également la seule information de la ligne ; il doit donc se situer aussi en fin de ligne. L'expression suivante vérifie que le modèle que vous avez spécifié correspond uniquement aux chapitres, et non aux références croisées. Pour ce faire, l'expression régulière recherche les correspondances se trouvant en début et en fin d'une ligne de texte.

/^Chapitre [1-9][0-9]{0,1}$/

Dans VBScript, utilisez :

"^Chapitre [1-9][0-9]{0,1}$"

La recherche de limites de mot est quelque peu différente, mais ajoute une fonctionnalité importante aux expressions régulières. Une limite de mot représente la position entre un mot et un espace. Une limite de mot négative représente toute autre position. L'expression JScript suivante retrouve les trois premiers caractères du mot 'Chapitre' car ils apparaissent après une limite de mot :

/\bCha/

ou dans VBScript :

"\bCha"

La position de l'opérateur '\b' est critique dans ce cas. S'il se trouve en début d'une chaîne à rechercher, il retrouve la correspondance au début du mot ; s'il est positionné à la fin de la chaîne, il retrouve la correspondance à la fin du mot. Par exemple, les expressions suivantes recherchent 'tre' dans le mot 'Chapitre' car ces lettres apparaissent juste avant une limite de mot :

/tre\b/

et

"tre\b"

Les expressions suivantes recherchent les lettres 'api' telles qu'elles apparaissent dans le mot 'Chapitre', mais pas comme dans 'apiculture' :

/\Bapi/

et

"\Bapi"

La raison tient à la situation des lettres 'api' qui constituent une limite de mot négative dans le terme 'Chapitre', mais correspondent à une limite de mot dans le mot 'apiculture'. Pour l'opérateur de limite de mot négative, la position n'est pas importante car la recherche ne se fait pas par rapport au début ou à la fin d'un mot.


Alternative et regroupement

L'alternative autorise l'utilisation du caractère '|' pour permettre un choix entre deux ou plusieurs alternatives. Vous pouvez élargir l'expression régulière de recherche de titres de chapitre pour que sa couverture soit plus importante. Toutefois, ce n'est pas aussi simple que vous pouvez l'imaginer. Avec le procédé de l'alternative, vous pouvez retrouver l'expression la plus grande possible de part et d'autre du caractère '|'. Vous pensez peut-être que les expressions JScript et VBScript suivantes recherchent soit 'Chapitre', soit 'Section' suivi d'un ou de deux chiffres en début et en fin de ligne :

/^Chapitre|Section [1-9][0-9]{0,1}$/
"^Chapitre|Section [1-9][0-9]{0,1}$"

En fait, les expressions régulières ci-dessus recherchent soit le mot 'Chapitre' en début de ligne, soit le mot 'Section' suivi de chiffres en fin de ligne. Si la chaîne d'entrée est 'Chapitre 22', l'expression ci-dessus ne retrouvera que le mot 'Chapitre'. Si la chaîne est 'Section 22', l'expression retrouve 'Section 22'. Mais ce n'est pas le but ici, et nous devons trouver un moyen d'adapter l'expression régulière pour qu'elle corresponde mieux à vos besoins.

Vous pouvez utiliser des parenthèses pour limiter la portée de l'alternative, pour vous assurer qu'elle ne s'applique qu'aux deux mots, 'Chapitre' et 'Section'. Toutefois, il faut être prudent dans l'emploi des parenthèses car elles servent aussi à créer des sous-expressions, sujet que nous traiterons ultérieurement dans la section consacrée aux sous-expressions. En reprenant les expressions régulières illustrées ci-dessus et en ajoutant des parenthèses à l'endroit approprié, vous pouvez définir l'expression régulière pour qu'elle retrouve soit 'Chapitre 1', soit 'Section 3'.

Les expressions régulières suivantes utilisent des parenthèses pour regrouper 'Chapitre' et 'Section' afin que l'expression fonctionne correctement. Avec JScript :

/^(Chapitre|Section) [1-9][0-9]{0,1}$/

Avec VBScript :

"^(Chapitre|Section) [1-9][0-9]{0,1}$"

Ces expressions fonctionnent correctement, mais il faut noter la présence d'un sous-produit intéressant. Mettre 'Chapitre|Section' entre parenthèses définit le regroupement adéquat, mais entraîne également la capture de ces deux mots correspondants pour un usage ultérieur. Comme un seul jeu de parenthèses figure dans l'expression ci-dessus, une seule sous-correspondance est capturée. Cette sous-correspondance peut être référencée à l'aide de la collection Submatches dans VBScript ou avec les propriétés $1-$9 de l'objet RegExp dans JScript.

Si la capture d'une sous-correspondance peut parfois être souhaitable, ce n'est pas toujours le cas. Dans les exemples ci-dessus, vous souhaitez seulement utiliser les parenthèses pour regrouper un choix entre les mots 'Chapitre' ou 'Section'. Vous ne voulez pas nécessairement faire référence à la correspondance plus tard. En fait, ne capturez des sous-correspondances que si vous en avez vraiment besoin. Vos expressions régulières en seront plus performantes car elles ne consommeront pas du temps et ni de la place en mémoire pour stocker ces sous-correspondances.

Vous pouvez utiliser '?:' avant le modèle d'expression régulière entre parenthèses pour éviter que la correspondance ne soit enregistrée en vue d'une utilisation ultérieure. En modifiant les expressions régulières précédentes, vous obtenez le même résultat, mais sans enregistrer la sous-correspondance. Avec JScript :

/^(?:Chapitre|Section) [1-9][0-9]{0,1}$/

Avec VBScript :

"^(?:Chapitre|Section) [1-9][0-9]{0,1}$"

Outre les métacaractères '?:', il existe deux autres métacaractères empêchant les captures et que l'on utilise pour les correspondances d'analyse. Une analyse positive, spécifiée à l'aide de ?=, recherche la chaîne de correspondance à n'importe quel point où commence un modèle d'expression régulière correspondante entre parenthèses. Une analyse négative, spécifiée à l'aide de '?!', recherche la chaîne de correspondance à n'importe quel point où commence une chaîne ne correspondant pas au modèle de l'expression régulière.

Supposons, par exemple, que votre document contienne des références à Windows 3.1, Windows 95, Windows 98 et Windows NT. Si vous devez mettre à jour le document en remplaçant toutes les références à Windows 95, Windows 98 et Windows NT par Windows 2000, vous pouvez utiliser l'expression régulière JScript suivante. Il s'agit d'un exemple d'analyse positive recherchant Windows 95, Windows 98 et Windows NT :

/Windows(?=95 |98 |NT )/

Pour effectuer la même recherche dans VBScript, utilisez l'expression suivante :

"Windows(?=95 |98 |NT )"

Une fois qu'une correspondance est trouvée, l'expression recherche la suivante à partir du dernier texte trouvé, sans compter les caractères de l'analyse. Si, par exemple, les expressions précédentes ont retrouvé une occurrence de 'Windows 98', la recherche reprend après 'Windows', et non après '98'.


Références arrières

L'une des fonctions les plus importantes des expressions régulières consiste à stocker une partie d'un modèle recherché en vue d'une utilisation ultérieure. Comme nous l'avons déjà vu, le fait de mettre entre parenthèses un modèle d'expression régulière, ou une partie de celui-ci, entraîne son stockage dans une mémoire tampon temporaire. Vous pouvez empêcher le stockage de cette partie de l'expression régulière en utilisant les caractères de non-capture, à savoir '?:', '?=' ou '?!'.

Chaque sous-correspondance capturée est stockée à mesure qu'elle est trouvée, de gauche à droite dans le modèle d'expression régulière. La mémoire tampon numérote l'emplacement de stockage des sous-correspondances en commençant par 1 et en continuant jusqu'à un maximum de 99 sous-expressions. Chaque tampon mémoire est accessible à l'aide de '\n' où n correspond à un ou à deux chiffres décimaux identifiant un tampon spécifique.

L'une des applications les plus simples, bien que très utiles, des références arrières permet de localiser l'occurrence de deux mots identiques dans un texte. Prenons l'exemple suivant :

Le le prix de de l'essence va-t-il continuer à augmenter augmenter ?

Dans la phrase ci-dessus, il existe manifestement un problème de mots dupliqués. Il serait donc intéressant de trouver un moyen de le corriger sans avoir à rechercher les doublons de chaque mot. L'expression régulière JScript suivante utilise une sous-expression simple pour y parvenir.

/\b([a-z]+) \1\b/gi

Voici l'équivalent avec VBScript :

"\b([a-z]+) \1\b"

La sous-expression, dans ce cas, représente tout ce qui se trouve entre parenthèses. Cette expression capturée inclut un ou plusieurs caractères alphabétiques, comme spécifié par '[a-z]+'. La seconde partie de l'expression régulière représente la référence à la sous-correspondance capturée précédemment, c'est-à-dire la seconde occurrence du mot venant juste d'être retrouvé dans l'expression entre parenthèses. '\1' est utilisé pour spécifier la première sous-correspondance. Les métacaractères de limite de mot assurent que seuls des mots séparés sont détectés. En l'absence de ces métacaractères, une proposition telle que "de demain" ou "bureau au" serait incorrectement identifiée par cette expression.

Dans l'expression JScript, l'indicateur global ('g') suivant l'expression régulière indique que l'expression est appliquée à autant de correspondances que possibles dans la chaîne d'entrée. La recherche ne fait pas la distinction entre les majuscules et les minuscules, comme spécifié par l'indicateur ('i') à la fin de l'expression. L'indicateur multiligne spécifie que les correspondances éventuelles peuvent se trouver de part et d'autre d'un caractère de saut de ligne. Dans VBScript, les différents indicateurs ne peuvent pas être définis dans l'expression, mais doivent être définis explicitement à l'aide des propriétés de l'objet RegExp.

Avec l'expression régulière ci-dessus, le code JScript suivant peut utiliser les informations de sous-correspondance pour remplacer une occurrence de deux mots consécutifs identiques dans une chaîne de texte avec une seule occurrence du même mot :

var ss = "Le le prix de de l'essence va-t-il continuer à augmenter augmenter ?.\n";
var re = /\b([a-z]+) \1\b/gim;       //Créer un modèle d'expression régulière.
var rv = ss.replace(re,"$1");   //Remplacer deux occurrences par une seule.

Voici le code VBScript le plus proche :

Dim ss, re, rv
ss = "Le le prix de de l'essence va-t-il continuer à augmenter augmenter ?." & vbNewLine
Set re = New RegExp
re.Pattern = "\b([a-z]+) \1\b"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$1")

Dans le code VBScript, notez que les indicateurs global, d'insensibilité à la casse et multiligne sont définis à l'aide des propriétés nommées de manière appropriée de l'objet RegExp.

L'utilisation de la propriété $1 au sein de la méthode replace fait référence à la première sous-correspondance stockée. Si vous aviez eu plusieurs sous-correspondances, vous y auriez fait référence avec $2, $3 etc. consécutivement.

Une autre application des références arrières consiste à décomposer un indicateur URI (Universal Resource Indicator). Imaginons que vous souhaitiez décomposer l'identificateur URI suivant pour séparer les composants protocole (ftp, http, etc.), l'adresse du domaine et la page/le chemin :

http://msdn.microsoft.com:80/scripting/default.htm

Les expressions régulières suivantes offrent cette possibilité. Avec JScript :

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/

Avec VBScript :

"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"

La première sous-expression entre parenthèses est destinée à capturer la partie protocole de l'adresse Internet. Cette sous-expression correspond à n'importe quel mot précédant deux points et deux barres obliques. La seconde sous-expression entre parenthèses capture la partie adresse du domaine de l'adresse. Elle correspond à n'importe quelle séquence de caractères n'incluant pas les caractères '^', '/' ou ':'. La troisième sous-expression entre parenthèses capture un numéro de port de site Web, le cas échéant. Elle correspond à zéro chiffre ou plus suivi de deux points. Enfin, la quatrième sous-expression entre parenthèses capture les informations de chemin d'accès et/ou de page spécifiées dans l'adresse Internet. Cette sous-expression correspond à un ou à plusieurs caractères autres que le symbole '#' ou l'espace.

En appliquant l'expression régulière à l'identificateur URI ci-dessus, les sous-correspondances se présenteraient comme suit :

RegExp.$1 contient "http"

RegExp.$2 contient "msdn.microsoft.com"

RegExp.$3 contient ":80"

RegExp.$4 contient "/scripting/default.htm"


Copyright

Microsoft® VBScript®

Les informations contenues dans ce document, y compris les adresses URL et les autres références à des sites Internet, pourront faire l'objet de modifications sans préavis. Sauf mention contraire, les sociétés, organisations, produits, individus et événements utilisés dans les exemples sont fictifs et aucune association à une société, organisation, individu ou événement existant réellement, n'est volontaire ou ne doit en être déduite. L'utilisateur est tenu d'observer la réglementation relative aux droits d'auteur applicable dans son pays. Sans limiter les droits inhérents aux droits d'auteur, il est interdit de reproduire, de stocker ou de saisir dans un système informatique, ou de transmettre tout ou partie de ce document par quelque forme ou moyen que ce soit (électronique, mécanique, photocopie, enregistrement ou autre), à quelque fin que ce soit, sans la permission expresse et écrite de Microsoft Corporation.

Microsoft peut détenir des brevets, avoir déposé des demandes d'enregistrement de brevet ou être titulaire de marques, de droits d'auteur ou d'autres droits de propriété intellectuelle portant sur tout ou partie des éléments qui font l'objet du présent document. Sauf stipulation expresse contraire d'un contrat de licence écrit de Microsoft, la fourniture de ce document n'a pas pour effet de vous concéder une licence sur ces brevets, marques, droits d'auteur ou autres droits de propriété intellectuelle.

© 1991-2000 Microsoft Corporation. Tous droits réservés.

Microsoft, MS, MS-DOS, ActiveX, JScript, Microsoft Press, MSDN, Visual Basic, Windows, Windows NT, Win32 et Win32s sont soit des marques, soit des marques déposées de Microsoft Corporation aux États-Unis d'Amérique et/ou dans d'autres pays.

Les noms de produits et sociétés mentionnés peuvent être des marques de leurs propriétaires respectifs.


Référence du langage VBScript

Constantes

Erreurs

Événements

Fonctions

Méthodes

Objets

Opérateurs

Instructions


SubMatches, Collection

Collection de chaînes de sous-correspondance d›une expression régulière.

Notes

Une collection SubMatches contient des chaînes de sous-correspondance individuelles, et peut être créée seulement à l'aide de la méthode Execute de l'objet RegExp. La collection SubMatches possède uniquement la propriété d'être en lecture seule.

Lorsqu'une expression régulière est exécutée, il en résulte aucune, une ou plusieurs sous-correspondances lorsque les sous-expressions sont comprises entre des parenthèses de capture. Chaque élément de la collection SubMatches est la chaîne trouvée et capturée par l›expression régulière.

Le code suivant montre la façon d'obtenir une collection SubMatches en utilisant une recherche d'expression régulière et la façon d›accéder à ses membres individuels :

Function SubMatchTest(inpStr)
  Dim oRe, oMatch, oMatches
  Set oRe = New RegExp
  ' Rechercher une adresse électronique(pas une RegExp parfaite)
  oRe.Pattern = "(\w+)@(\w+)\.(\w+)"
  ' Obtenir la collection Matches
  Set oMatches = oRe.Execute(inpStr)
  ' Obtenir le premier élément de la collection Matches
  Set oMatch = oMatches(0)
  ' Créer la chaîne de résultats.
  ' L›objet Match est la correspondance exacte - dragon@xyzzy.com
  retStr = "L›adresse électronique est : " & oMatch & vbNewline
  ' Obtenir les sous-correspondances de l›adresse.
  retStr = retStr & "L›alias de l›adresse est : " & oMatch.SubMatches(0)  ' dragon
  retStr = retStr & vbNewline
  retStr = retStr & "La société est : " & oMatch. SubMatches(1)' xyzzy
  SubMatchTest = retStr
End Function

MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyzzy.com. Merci!"))

Propriétés

Propriété, Count | Propriété, Item

Version requise

Version 5.5

Voir aussi

For Each...Next, instruction | Match, Objet | Matches, Collection |RegExp, Objet


Un composant ActiveX ne peut pas créer d'objet

Le compilateur VBScript 5.5 n'a pas pu créer un objet car la classe de cet objet n'est pas définie dans le registre du système. Il se peut également qu'au moins l'une des bibliothèques de liaisons dynamiques (DLL) associées ne soit pas disponible. Cette erreur se produit aussi lorsqu'une DLL requise par l'objet ne peut pas être utilisée, soit parce qu'elle est introuvable, soit parce qu'elle est altérée.

Pour corriger cette erreur

  • Assurez-vous que toutes les DLL associées sont disponibles. Par exemple, l'objet DAO (Data Access Object) requiert des DLL de gestion qui varient selon les plates-formes. Exécutez à nouveau le programme de configuration pour un objet de ce genre s'il s'agit de la cause de l'erreur.
  • Internet Explorer tente peut-être de créer un objet, mais vous ne disposez pas des permissions de sécurité requises dans Internet Explorer. Réinitialisez le paramètre de sécurité d'Internet Explorer et recommencez.

Utilisation de VBScript avec des objets


Une exception s'est produite

Votre script a effectué un appel vers un objet COM, lequel a à son tour généré une exception.

Pour corriger cette erreur

  • Si cet appel n'a pas été généré par la méthode Raise, contactez le développeur de l'objet COM ayant causé l'erreur.
  • Adressez-vous au service de support produit de Microsoft pour signaler les conditions dans lesquelles ce message est apparu.

Raise, méthode | Err


Argument obligatoire

Vous avez appelé une procédure, mais utilisé un nombre d'arguments incorrect. Le nombre d'arguments transmis à une procédure doit correspondre exactement au nombre de paramètres dans la définition de la procédure.

Pour corriger cette erreur

  • Vérifiez la signature de la fonction pour être sûr que vous avez fourni tous les arguments nécessaires.

Procédures de VBScript


Ce tableau est fixe ou temporairement verrouillé

Vous avez tenté d'utiliser ReDim pour changer le nombre d'éléments dans un tableau de taille constante. Les tableaux déclarés comme dynamiques, ou les tableaux situés à l'intérieur de variables Variant peuvent être verrouillés temporairement.

Pour corriger cette erreur

  • Si le tableau est déclaré au sein d'une procédure, utilisez la fonction ReDim pour le changer en tableau dynamique (au lieu de statique).
  • Si le tableau est déclaré au niveau du module, déclarez-le sans spécifier le nombre d'éléments.

Voir aussi

Array, fonction | Dim, instruction | ReDim, instruction | Set, instruction | Private, instruction | Public, instruction


Impossible d'avoir plusieurs propriétés/méthodes par défaut dans une classe

Vous avez attribué la valeur par défaut à plusieurs propriétés ou méthodes dans la définition de votre classe. Une classe ne peut comporter qu'une seule propriété et une seule méthode par défaut.

Pour corriger cette erreur

  • Assurez-vous que cette classe ne comporte qu'une seule propriété et une seule méthode par défaut.

Function, instruction


Parenthèses interdites lors de l'appel d'une procédure Sub

Vous avez utilisé des parenthèses () pour appeler une sous-routine sans l'instruction Call. Lors de l'appel d'une sous-routine sans l'instruction Call, il est interdit d'utiliser des parenthèses.

Pour corriger cette erreur

  • Supprimez les parenthèses dans l'appel de la sous-routine.
  • Utilisez l'instruction Call pour appeler la sous-routine.

Call, instruction | Sub, instruction


Impossible d'effectuer l'opération requise

L'exécution de votre script ne peut pas se poursuivre car l'hôte a arrêté le moteur de script. L'hôte n'a spécifié aucun code d'erreur explicite.

Pour corriger cette erreur

  • La résolution de cette erreur dépend de l'hôte.


Cette classe ne gère pas Automation

Vous avez tenté d'accéder à une propriété ou une méthode d'un objet ne gérant pas Automation. Vous pouvez créer et transmettre un pointeur à un objet ne gérant pas Automation, mais vous ne pouvez pas accéder à ses propriétés et méthodes.

Pour corriger cette erreur

  • Consultez la documentation de l'application ayant créé l'objet pour connaître les restrictions d'utilisation d'Automation avec cette classe.

Remarque L'objet peut avoir été créé avec CreateObject, mais il est possible également qu'il ait été introduit par le biais du modèle d'objet de l'hôte.

CreateObject, fonction


L'initialisation ou la fin de classe ne comporte pas d'arguments

Votre script comporte une définition de classe avec l'événement Class_Initialize ou Class_Terminate. Vous avez spécifié un ou plusieurs paramètres pour l'une ou l'autre de ces procédures. Ne spécifiez jamais de paramètres pour l'une ou l'autre de ces procédures.

Pour corriger cette erreur

  • Supprimez les paramètres de la définition de la classe.

Initialize, événement | Terminate, événement


Classe non définie

Vous avez fait référence à une classe (à l'aide d'une instruction New ou Set) sans avoir pris soin de définir la classe au préalable.

Pour corriger cette erreur

  • Veillez à définir la classe avant d'y faire référence.

Set, instruction


La spécification 'Default' ne peut se trouver que dans Property Get

Vous avez utilisé le mot réservé Default dans Property Let ou Property Set. Vous pouvez uniquement spécifier le mot réservé Default dans Property Get.

Pour corriger cette erreur

  • Spécifiez le mot réservé Default dans Property Get uniquement.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction


La spécification 'Default' doit également spécifier 'Public'

Vous avez défini une propriété comme Default, et non comme Public. Si vous définissez une propriété comme Default, vous devez également la définir comme Public.

Pour corriger cette erreur

  • Définissez toutes les propriétés Default comme Public.

Function, instruction


Division par zéro

Vous avez créé une expression qui essaie de diviser un nombre par zéro. La division par zéro produit un résultat infini (donc inutilisable).

Pour corriger cette erreur

  • Vérifiez l'expression pour vous assurer qu'elle ne contient pas de fautes de frappe ou de casse.


Erreur de chargement de la DLL

Votre application fait référence à une DLL introuvable. Il se peut également qu'une DLL ait fait référence à une autre DLL qui s'avère introuvable.

Pour corriger cette erreur

  • Assurez-vous de la présence de la DLL.
  • Utilisez le chemin d'accès entier lorsque vous faites référence à la DLL.
  • Procurez-vous la DLL citée en référence et mettez-la à disposition de l'autre DLL.


']' attendu dans l'expression régulière

Vous avez tenté de créer une classe de caractères pour une correspondance d'expression régulière, mais avez oublié le crochet de droite. Les combinaisons de caractères littéraux individuels peuvent être regroupées en classes de caractères si elles sont placées entre crochets. Une classe de caractères correspond à n'importe lequel des caractères qu'elle contient. Par exemple, /[abc]/ correspond à l'une des lettres suivantes : “a”, “b” ou “c”.

Pour corriger cette erreur

  • Ajoutez le crochet de droite à l'expression régulière.

Regular Expression (RegExp), objet


'Case' attendu

Vous avez créé une construction Select…End Select, mais n'avez inclus aucune instruction Case. L'exemple suivant illustre l'utilisation correcte de la construction Select…End Select.

Select Case testexpression
   [Case expressionlist-n
      [statements-n]] . . .
   [Case Else expressionlist-n
      [elsestatements-n]]
End Select

Pour corriger cette erreur

  • Assurez-vous que la construction Select…End Select comporte tous les éléments requis.

Select Case, instruction


'Class' attendu

Vous avez créé une procédure Class, mais l'avez terminée avec le mot clé End, et non avec l'instruction End Class. Une procédure Class doit toujours se terminer par une instruction End Class.

Pour corriger cette erreur

  • Terminez la procédure Class avec l'instruction End Class.

Class, instruction


'End' attendu

Vous avez créé une construction, mais l'avez terminée incorrectement. Le tableau suivant dresse la liste des constructions VBScript devant se terminer par une instruction End.

Construction | Instruction de fin
Sub | End Sub
Function | End Function
If | End If
Class | End Class
With | End With
Select | End Select

Pour corriger cette erreur

  • Terminez une procédure Sub par une instruction End Sub associée.
  • Terminez une procédure Function par une instruction End Function associée.
  • Terminez une instruction If par une instruction End If associée.
  • Terminez une instruction Class par une instruction End Class associée.
  • Terminez une instruction With par une instruction End With associée.
  • Terminez une instruction Select par une instruction End Select associée.

Sub, instruction | Function, instruction


Fin d'instruction attendue

Présence de texte au-delà de la fin de l'une de vos instructions.

Pour corriger cette erreur

  • Supprimez le texte superflu.
  • Si vous envisagez d'inclure la ligne de code en tant que commentaire, insérez une apostrophe "'" à la fin de l'instruction.

Conventions de codage de VBScript


'=' attendu

Vous utilisez l'instruction Set, mais avez oublié d'inclure le symbole =.

Pour corriger cette erreur

  • Respectez la syntaxe de l'instruction Set.

Set, instruction


Expression attendue

Vous avez créé une construction Select…End Select, mais avez inclus une clause Case contenant une ou plusieurs valeurs avec une instruction Case Else. L'instruction Case Else (alternative de la séquence) doit apparaître sur sa propre ligne. L'exemple suivant démontre l'utilisation correcte de la construction Select…End Select.

Select Case testexpression
   [Case expressionlist-n
      [statements-n]] . . .
   [Case Else expressionlist-n
      [elsestatements-n]]
End Select

Pour corriger cette erreur

  • Créez une nouvelle ligne pour l'instruction Case Else.

Select Case, instruction


'Function' attendu

Vous avez créé une procédure Function, mais l'avez terminée avec le mot clé End, et non avec l'instruction End Function. Une procédure Function doit inclure une instruction de fin End Function.

Pour corriger cette erreur

  • Terminez votre procédure Function avec l'instruction End Function.

Voir aussi

Function, instruction | Call, instruction | Dim, instruction | Exit, instruction | Set, instruction | Sub, instruction


Identificateur attendu

Vous avez déclaré une variable, mais avez utilisé un mot réservé de VBScript dans son nom.

Pour corriger cette erreur

  • Choisissez un autre nom de variable (qui ne fasse pas partie des mots réservés de VBScript).
  • Mettez le mot réservé entre [ ].


'If' attendu

Vous avez créé un bloc If...Then...Else, mais ne l'avez pas terminé comme il se doit. Une instruction de bloc If doit être la première instruction de la ligne et doit se terminer par une instruction End If. L'exemple suivant illustre la structure correcte d'un bloc If...Then...Else.

If condition Then
   [statements]
[ElseIf condition-n Then
   [elseifstatements]] . . .
[Else
   [elsestatements]]
End If

Pour corriger cette erreur

  • Vérifiez si vous avez terminé votre instruction de bloc If avec une instruction End. Si c'est le cas, remplacez-la par une instruction End If.

If...Then...Else, instruction


'In' attendu

Vous avez créé un bloc For Each…Next, mais n'avez pas inclus le mot clé In dans la première ligne. L'exemple suivant illustre la structure correcte d'un bloc For Each…Next.

For Each element In group
   [statements]
   [Exit For]
   [statements]
Next [element]

Pour corriger cette erreur

  • Assurez-vous que le bloc For Each…Next comporte tous les éléments requis.

Voir aussi

For Each...Next, instruction | Do...Loop, instruction | Exit, instruction | For...Next, instruction | While...Wend, instruction


')' attendu dans l'expression régulière

Vous avez tenté de créer une sous-expression d'expression régulière, mais avez oublié de fermer la parenthèse ")". Les parenthèses ont plusieurs rôles dans les expressions régulières. Généralement, elles regroupent des éléments isolés en une seule sous-expression, de façon à ce que ces éléments soient considérés comme une entité unique par les opérateurs *, +, ?, etc.

Pour corriger cette erreur

  • Ajoutez la parenthèse de droite ")" à votre sous-expression d'expression régulière.

Regular Expression (RegExp), objet


Constante (entier) attendue

Vous avez tenté de créer un tableau à l'aide d'une valeur non-constante dans l'instruction Dim. Dans VBScript, la valeur de taille d'une instruction Dim doit être une constante. Exemple :

Dim a(10)   ' est correct.
Dim a(x)    ' n'est pas correct.
Dim a(1=2)  ' n'est pas correct.

Pour corriger cette erreur

  • Utilisez l'instruction ReDim.

Dim, instruction | ReDim, instruction


'(' attendu

Vous avez oublié d'ouvrir la première parenthèse "(" lors de la création de la déclaration d'une procédure,

Sub foo x // x doit être mis entre parenthèses.
End Sub

Ou vous avez utilisé l'instruction redim.

Redim x // x doit être mis entre parenthèses.

Pour corriger cette erreur

  • Ajoutez la parenthèse de gauche "(".

Priorité des opérateurs


Let, Set ou Get attendu dans la déclaration de la propriété

Vous avez créé une instruction Property Let, Property Set ou Property Get, mais avez oublié les mots clés Let, Set ou Get. L'instruction Property doit être suivie de Let, Set ou Get.

Pour corriger cette erreur

  • Assurez-vous que l'instruction Property est suivie de Let, Set ou Get.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction


Constante (littéral) attendue

Vous avez déclaré une constante, mais l'avez affectée à une expression variable (valeur pouvant changer). Les constantes ne peuvent pas contenir de code d'exécution.

Pour corriger cette erreur

  • N'utilisez pas d'expressions lors de la déclaration de constantes.

Voir aussi

Constantes de VBScript | Constantes de VBScript | Const, instruction


'Loop' attendu

Vous avez créé une construction de boucle Do, mais ne l'avez pas terminée correctement. Les constructions de boucles Do se terminent par une instruction Loop associée. L'exemple suivant illustre la structure correcte d'une construction de boucle Do.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

La syntaxe suivante est également valable :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Pour corriger cette erreur

  • Assurez-vous que la construction de boucle Do comporte tous les éléments requis.

Voir aussi

Do...Loop, instruction | Exit, instruction | For...Next, instruction | While...Wend, instruction


'Next' attendu

Vous avez créé une construction de boucle For…Next, mais ne l'avez pas terminée correctement. Une construction de boucle For…Next doit se terminer par une instruction Next. L'exemple suivant illustre la structure correcte d'une construction de boucle For…Next.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Pour corriger cette erreur

  • Assurez-vous que la construction de boucle For…Next comporte tous les éléments requis.

Voir aussi

For...Next, instruction | Do...Loop, instruction | Exit, instruction | For Each...Next, instruction | While...Wend, instruction


'Property' attendu

Vous avez créé une procédure Property (Property Let, Property Set ou Property Get), mais ne l'avez pas terminée par une instruction End Property. Les procédures Property doivent se terminer par une instruction End Property.

Pour corriger cette erreur

  • Assurez-vous que vous avez terminé votre procédure Property avec l'instruction End Property.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction


')' attendu

Vous avez tenté de mettre une expression entre parenthèses, mais avez oublié de fermer la parenthèse. Certaines expressions doivent obligatoirement être mises entre parenthèses (ouvrantes et fermantes).

Pour corriger cette erreur

  • Ajoutez la parenthèse de droite (fermante) à l'expression d'évaluation.

Priorité des opérateurs


'Select' attendu

Vous avez créé une construction Select…End Select, mais avez oublié l'instruction de fin End Select. L'exemple suivant illustre l'utilisation correcte de la construction Select…End Select.

Select Case testexpression
   [Case expressionlist-n
      [statements-n]] . . .
   [Case Else expressionlist-n
      [elsestatements-n]]
End Select

Pour corriger cette erreur

  • Assurez-vous que la construction Select…End Select comporte tous les éléments requis.

Select Case, instruction | If...Then...Else, instruction


Instruction attendue

La chaîne que vous avez transmise comme argument à l'instruction Execute ne peut pas être analysée comme instruction. L'instruction Execute peut être utilisée pour exécuter le code VBScript de façon dynamique. Prenons l'exemple du code VBScript suivant.

Execute "msgbox 1"  'Cela marche car msgbox est une instruction.
Execute "5*4"       'Échec car 5*4 ne peut pas être interprété comme une instruction.

L'erreur Instruction attendue est également générée au cours de la compilation de code de script en attente d'une instruction, et non pas seulement par Execute et Eval. Le code suivant, par exemple, provoque cette erreur dans Internet Explorer :

<html>
<script language=vbscript>
    5*4
</script>
</html>

Notez qu'il existe deux instructions Execute distinctes et dissociées dans VBScript :

  • l'instruction Execute qui compile et exécute des instructions à la volée,
  • la méthode d'expression régulière Execute.

Pour corriger cette erreur

  • Confirmez que la chaîne transmise à Execute est une instruction.
  • Si la chaîne que vous voulez évaluer est une expression, utilisez Eval.

Execute, instruction | Eval


'Sub' attendu

Vous avez créé une procédure Sub, mais l'avez terminée par le mot clé End et non par l'instruction End Sub. Une procédure Sub doit comporter une instruction de fin End Sub.

Pour corriger cette erreur

  • Terminez votre procédure Sub avec l'instruction de fin End Sub.

Voir aussi

Sub, instruction | Call, instruction | Dim, instruction | Exit, instruction | Function, instruction


'Then' attendu

Vous avez créé une construction If...Then...Else, mais avez oublié le mot clé Then dans la première ligne. L'exemple suivant illustre la structure correcte d'une construction If...Then...Else.

If condition Then statements [Else elsestatements ]

Vous pouvez également utiliser la syntaxe de formation de bloc suivante :

If condition Then
   [statements]
[ElseIf condition-n Then
   [elseifstatements]] . . .
[Else
   [elsestatements]]
End If

Pour corriger cette erreur

  • Assurez-vous que la construction If...Then...Else comporte tous les éléments requis.

Voir aussi

If...Then...Else, instruction | Select Case, instruction | Utilisation d'instructions conditionnelles


'To' attendu

Vous avez créé une boucle For...Next, mais avez oublié le mot clé To dans la première ligne. La première ligne d'une boucle For...Next doit obligatoirement inclure le mot clé To. L'exemple suivant illustre la structure correcte d'une boucle For...Next.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Pour corriger cette erreur

  • Assurez-vous que la boucle For...Next comporte tous les éléments requis.

Voir aussi

For...Next, instruction | For Each...Next, instruction | Do...Loop, instruction | Exit, instruction | For...Next, instruction | While...Wend, instruction


'Wend' attendu

Vous avez créé une boucle While…Wend, mais ne l'avez pas terminée correctement. Une boucle While…Wend doit se terminer par une instruction Wend associée. L'exemple suivant illustre la structure correcte d'une boucle While…Wend.

While condition
   Version [statements]
Wend

Pour corriger cette erreur

  • Assurez-vous que la boucle While…Wend comporte tous les éléments requis.

Voir aussi

Boucles de répétition du code | While...Wend, instruction | Do...Loop, instruction | For...Next, instruction | For Each...Next, instruction | Exit, instruction


'While' ou 'Until' attendu

Vous avez créé une boucle Do, mais avez oublié le mot clé While ou Until associé. La condition de test d'une boucle Do requiert la présence d'un mot clé While ou Until dans l'instruction de condition de test. L'exemple suivant illustre la structure correcte d'une boucle Do.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

La syntaxe suivante est également valable :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Pour corriger cette erreur

  • Assurez-vous que la boucle Do comporte tous les éléments requis.

Voir aussi

Boucles de répétition du code | Do...Loop, instruction | For...Next, instruction | For...Next, instruction | While...Wend, instruction | Exit, instruction


'While', 'Until' ou fin d'instruction attendu

Vous avez créé une boucle Do, mais avez oublié le mot clé While ou Until associé. La condition de test d'une boucle Do requiert la présence d'un mot clé While ou Until dans l'instruction de condition de test. L'exemple suivant illustre la structure correcte d'une boucle Do.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

La syntaxe suivante est également valable :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Pour corriger cette erreur

  • Assurez-vous que la boucle Do comporte tous les éléments requis.
  • Terminez la boucle Do avec le mot clé While ou Until.

Voir aussi

Boucles de répétition du code | Do...Loop, instruction | For...Next, instruction | For...Next, instruction | While...Wend, instruction | Exit, instruction


'With' attendu

Vous avez créé un bloc With, mais l'avez terminé avec le mot clé End, et non avec l'instruction End With. Un bloc With doit se terminer par une instruction End With associée. L'exemple suivant illustre la composition correcte d'un bloc With.

With object
   statements
End With

Pour corriger cette erreur

  • Si vous avez terminé le bloc With avec le mot clé End, remplacez-le par l'instruction End With.
  • Assurez-vous que la structure de contrôle With comporte tous les éléments requis.

Voir aussi

Utilisation d'instructions conditionnelles | With, instruction | Set, instruction | If...Then...Else, instruction | Select Case, instruction


Nom de fichier ou de classe introuvable au cours de l'opération Automation

Vous avez utilisé la fonction GetObject, mais fourni un nom de classe ou de fichier non reconnaissable comme paramètre. La fonction GetObject requiert la présence du chemin d'accès complet et du nom du fichier contenant l'objet à extraire, ou le nom de la classe enregistrée avec le système.

Pour corriger cette erreur

  • Vérifiez que les noms ne comportent pas de fautes et recommencez.
  • Assurez-vous que le nom utilisé pour le paramètre class correspond à l'un des paramètres enregistrés avec le système.

GetObject, fonction | CreateObject, fonction


Boucle For non initialisée

La séquence d'exécution de votre script a rencontré un branchement au milieu d'une boucle For…Next. C'est ce qui a causé l'erreur car les compteurs de la boucle For…Next doivent être initialisés. L'exemple suivant illustre la structure correcte d'une boucle For…Next.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Pour corriger cette erreur

  • Supprimez le branchement dans la boucle For…Next.
  • Assurez-vous que la boucle For…Next comporte tous les éléments requis.

Voir aussi

Boucles de répétition du code | For...Next, instruction | Do...Loop, instruction | Exit, instruction | For Each...Next, instruction | While...Wend, instruction


Identificateur trop long

Vous avez créé un nom de fonction ou de variable comportant trop de caractères. La limite est de 255 caractères.

Pour corriger cette erreur

  • Choisissez un nom plus court.

Voir aussi

Variables de VBScript | Types de données de VBScript | Dim, instruction | Public, instruction | Private, instruction


Affectation illégale

Vous avez tenté d'utiliser un identificateur en lecture seule dans la partie gauche d'une opération d'affectation. Vous ne pouvez pas affecter une valeur à un identificateur en lecture seule.

Pour corriger cette erreur

  • Utilisez des identificateurs en lecture seule dans la partie droite d'une opération d'affectation.

Voir aussi

= (affectation), opérateur | Opérateurs de comparaison | Priorité des opérateurs | Liste des opérateurs | Set, instruction


Erreur interne

Une erreur interne s'est produite.

Pour corriger cette erreur

  • Contactez le service de support produit Microsoft pour signaler les conditions dans lesquelles le message est apparu, sauf si cet appel a été généré par la méthode Raise.

Raise, méthode


Caractère incorrect

Vous avez tenté d'utiliser un jeu de caractères DBCS (Double Byte Character Set) ou tout autre caractère non géré dans une expression.

Pour corriger cette erreur

  • Mettez les caractères non gérés entre crochets [].

Voir aussi

©2000 Microsoft Corporation. Tous droits réservés.


Instruction 'exit' incorrecte

Vous avez utilisé une instruction Exit à l'intérieur de l'une des constructions de contrôle de programme suivantes :

  • Instruction With.
  • Instruction If...Then...Else.
  • Instruction Select Case.

Vous pouvez utiliser une instruction Exit uniquement pour quitter ces structures :

  • Boucle Do...While (Exit Do).
  • Boucle For...Next (Exit For).
  • Boucle For Each...Next (Exit For).
  • Procédure Function (Exit Function).
  • Procédure Sub (Exit Sub).

Pour corriger cette erreur

  • Vous avez peut-être utilisé Exit If, Exit With ou Exit Select incorrectement.
  • N'utilisez pas Exit avec les instructions If, With ou Select.

Voir aussi

Exit, instruction | Do...Loop, instruction | For Each...Next, instruction | For...Next, instruction | Function, instruction | Sub, instruction


Variable de contrôle de boucle 'for' incorrecte

Vous avez créé une boucle For...Next présentant la même variable de contrôle qu'une boucle dans laquelle elle est imbriquée. Vous pouvez également avoir créé une boucle For...Next avec une variable de contrôle illégale. L'exemple suivant démontre la structure correcte d'une boucle For…Next.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Pour corriger cette erreur

  • Renommez la variable de contrôle dans votre boucle For...Next pour qu'elle soit unique dans la portée de la boucle extérieure.

Voir aussi

Boucles de répétition du code | For...Next, instruction | Do...Loop, instruction | Exit, instruction | For Each...Next, instruction | While...Wend, instruction


Nombre incorrect

Votre expression comporte une valeur trop grande ou hors plage.

Pour corriger cette erreur

  • Utilisez une valeur plus petite.

Types de données de VBScript | VarType, fonction


Référence incorrecte ou non qualifiée

Vous avez tenté d'utiliser l'instruction With sur un élément autre qu'un objet. L'instruction With ne peut être utilisée qu'avec des valeurs d'objet non nulles. L'exemple suivant démontre la structure correcte d'un bloc With.

With object
   statements
End With

Pour corriger cette erreur

  • Spécifiez un objet pour l'instruction With.

With, instruction


Image incorrecte

Le fichier graphique que vous tentez de charger présente un format non reconnaissable. Les formats acceptés sont les formats bitmap (*.bmp), icône (*.ico) et métafichier Windows (*.wmf).

Pour corriger cette erreur

  • Assurez-vous que le fichier que vous voulez charger est un fichier graphique valable.

LoadPicture, fonction


Plage incorrecte dans le jeu de caractères

Vous avez tenté de créer une expression régulière avec des caractères incorrects. Les expressions régulières sont composées de caractères alphanumériques et de métacaractères.

Pour corriger cette erreur

  • Utilisez uniquement des caractères d'expression régulière valides pour composer votre expression régulière.

Regular Expression (RegExp), objet


Utilisation incorrecte du mot clé 'Me'

Vous avez tenté d'utiliser Set pour affecter une valeur à l'identificateur Me. Me est un identificateur réservé et ne peut pas être défini avec Set.

Pour corriger cette erreur

  • Renommez la variable pour qu'elle ne soit plus désignée par Me.


Utilisation incorrecte de Null

Vous avez tenté d'obtenir la valeur d'une variable Variant qui est Null. Vous ne pouvez obtenir la valeur de variables Variant que si elles contiennent des valeurs valides. Null est un sous-type Variant utilisé pour indiquer qu'un élément de données ne contient aucune donnée valide.

Pour corriger cette erreur

  • Assurez-vous que la variable contient une valeur valide.

IsNull, fonction | Glossaire de VBScript


'loop' sans 'do'

Vous avez créé une boucle Do, mais ne l'avez pas définie correctement. Les boucles Do commencent par une instruction Do associée. L'exemple suivant illustre la structure correcte d'une boucle Do.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

La syntaxe suivante est également valable :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Pour corriger cette erreur

  • Vous avez peut-être essayé de supprimer une structure de contrôle Do, mais oublié de supprimer l'instruction Loop.
  • Assurez-vous que la boucle Do comporte tous les éléments requis.

Voir aussi

Do...Loop, instruction | Exit, instruction | For...Next, instruction | While...Wend, instruction


Doit être défini à l'intérieur d'une classe

Vous avez créé une procédure Property (Property Let, Property Set ou Property Get), mais l'avez définie en dehors d'une définition Class. Les procédures Property doivent être créées à l'intérieur de classes.

Pour corriger cette erreur

  • Assurez-vous que les procédures Property Let, Property Set et Property Get sont définies dans une définition Class.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction


Doit être la première instruction de la ligne

Votre ligne de code à plusieurs instructions contient une instruction If…Then…Else, mais l'instruction If…Then…Else n'est pas la première instruction de la ligne. Les instructions If…Then…Else doivent figurer en début de ligne.

Pour corriger cette erreur

  • Déplacez l'instruction If ou Else sur une nouvelle ligne.

If...Then...Else, instruction


Argument nommé introuvable

Vous avez appelé une procédure, en spécifiant un argument particulier, mais la procédure n'a pas été définie pour accepter un argument de ce nom. Un argument nommé ne peut pas être utilisé dans un appel de procédure, sauf s'il apparaît dans la définition de cette dernière.

Pour corriger cette erreur

  • Vérifiez l'orthographe du nom de l'argument et appelez de nouveau la procédure.

Conventions de codage de VBScript


Nom redéfini

Vous avez déclaré un identificateur avec un nom déjà utilisé à un autre endroit de votre script.

Pour corriger cette erreur

  • Renommez l'identificateur pour qu'il porte un nom unique dans la portée globale de votre script.


Le nombre d'arguments doit être le même dans la spécification des propriétés

Le nombre d'arguments que vous avez spécifié est insuffisant. Lors de l'utilisation de Property Let ou de Property Set, le nombre d'arguments doit supérieur de un à celui retourné par la procédure Property Get correspondante.

Pour corriger cette erreur

  • Assurez-vous que les procédures Property Let et Property Set comportent au moins un argument de plus que le nombre retourné par Property Get.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction


Cet objet ne gère pas les paramètres régionaux en cours

Vous avez tenté d'accéder à un objet ne gérant pas les paramètres régionaux en cours. Un paramètre régional est un ensemble d'informations correspondant à une langue et à un pays. Il détermine la langue des termes de programmation prédéfinis et les paramètres spécifiques à cette langue. Il existe deux situations pour lesquelles la définition des paramètres régionaux est importante :

  • Le paramètre régional de code détermine la langue des termes, tels que les mots clés, et définit les paramètres spécifiques à cette langue, comme les séparateurs de liste et de décimales, les formats de date et l'ordre de tri des caractères.
  • Le paramètre régional du système détermine la manière dont les fonctionnalités concernées par ce paramètre se comportent, comme lorsque vous affichez des nombres ou convertissez des chaînes en dates, par exemple. Pour définir les paramètres régionaux, servez-vous du Panneau de configuration de votre système d'exploitation.

Pour corriger cette erreur

  • Vérifiez quels sont les paramètres régionaux gérés par l'objet.

Glossaire de VBScript | CDate, fonction


Cet objet ne gère pas cette action

Vous avez tenté de faire référence à une méthode ou à une propriété qui n'est pas gérée par cet objet. Tous les objets ne gèrent pas toutes les actions.

Pour corriger cette erreur

  • Vérifiez l'orthographe des propriétés et des méthodes.
  • Reportez-vous à la documentation de l'objet pour plus d'informations.

Voir aussi

Utilisation de VBScript avec des objets | CreateObject, fonction | GetObject, fonction


Propriété ou méthode non gérée par cet objet

Vous avez spécifié une méthode ou une propriété n'existant pas pour cet objet Automation. Tous les objets ne gèrent pas toutes les propriétés et méthodes.

Pour corriger cette erreur

  • Vérifiez l'orthographe des propriétés et des méthodes.
  • Reportez-vous à la documentation de l'objet pour plus d'informations.


Cet objet n'est pas une collection

Vous avez tenté d'effectuer une opération ne s'appliquant qu'aux objets Collection, sur un objet ne correspondant pas à un objet Collection. Certaines propriétés, méthodes et opérations ne s'appliquent qu'aux objets Collection. Un objet Collection est un objet contenant un ensemble d'objets associés. La position d'un objet dans l'objet Collection peut changer chaque fois qu'une modification a lieu dans la collection ; par conséquent, la position d'un objet spécifique est susceptible de varier dans l'objet Collection.

Pour corriger cette erreur

  • Vérifiez l'orthographe du nom de l'objet ou de la propriété.
  • Veillez à ce que l'objet soit un objet Collection.
  • Regardez la méthode Add utilisée pour ajouter l'objet à la collection pour vous assurer que la syntaxe est correcte et que les éventuels identificateurs sont orthographiés comme il se doit.

Voir aussi

Drives, collection | Folders, collection | Files, collection | Matches, collection


Objet non sécurisé pour la création

Vous avez tenté d'utiliser un objet n'ayant pas été sécurisé pour la création. L'ensemble des objets sécurisés est déterminé par l'hôte. Généralement, les objets autorisant les scripts non sécurisés à effectuer des actions à conséquence (comme l'accès au disque dur) sont considérés comme non sécurisés.

Par exemple, l'objet FileScriptingObject n'est pas sécurisé pour une exécution avec Microsoft Internet Explorer en tant que client, mais vous pouvez l'utiliser sur votre machine locale avec Windows Script Host.

Pour corriger cette erreur

  • Veillez à utiliser un objet sécurisé.
  • Contactez le développeur de l'objet pour vérifier qu'il s'agit d'une version sécurisée.
  • Pour savoir si un objet est sécurisé, consultez la documentation s'y rapportant.


Objet non sécurisé pour l'initialisation

Vous avez tenté d'utiliser un objet n'ayant pas été sécurisé pour l'initialisation. L'ensemble des objets sécurisés est déterminé par l'hôte. Généralement, les objets autorisant les scripts non sécurisés à effectuer des actions à conséquence (comme l'accès au disque dur) sont considérés comme non sécurisés.

Par exemple, l'objet FileScriptingObject n'est pas sécurisé pour une exécution avec Microsoft Internet Explorer en tant que client, mais vous pouvez l'utiliser sur votre machine locale avec Windows Script Host.

Pour corriger cette erreur

  • Veillez à utiliser un objet sécurisé.
  • Contactez le développeur de l'objet pour vérifier qu'il s'agit d'une version sécurisée.
  • Pour savoir si un objet est sécurisé, consultez la documentation s'y rapportant.

Initialize, événement


Objet non sécurisé pour le script

Vous avez tenté d'utiliser un objet n'ayant pas été sécurisé pour le script. L'ensemble des objets sécurisés est déterminé par l'hôte. Généralement, les objets autorisant les scripts non sécurisés à effectuer des actions à conséquence (comme l'accès au disque dur) sont considérés comme non sécurisés.

Par exemple, l'objet FileScriptingObject n'est pas sécurisé pour une exécution avec Microsoft Internet Explorer en tant que client, mais vous pouvez l'utiliser sur votre machine locale avec Windows Script Host.

Pour corriger cette erreur

  • Veillez à utiliser un objet sécurisé.
  • Contactez le développeur de l'objet pour vérifier qu'il s'agit d'une version sécurisée.
  • Pour savoir si un objet est sécurisé, consultez la documentation s'y rapportant.


Objet requis

L'objet que vous avez fourni n'est pas valable (ou n'est pas reconnu comme objet). Les références à des propriétés et à des méthodes nécessitent, la plupart du temps, un qualifiant d'objet explicite.

Pour corriger cette erreur

  • Spécifiez un qualifiant d'objet.
  • Vérifiez l'orthographe du qualifiant d'objet.


Variable de l'objet non définie

Vous avez tenté d'utiliser une propriété d'objet sans objet valide. En l'absence d'instruction Set, une erreur est générée sur la référence à l'objet.

Pour corriger cette erreur

  • Spécifiez une référence pour la variable objet.

Property Set, instruction


Mémoire insuffisante

Vous avez alloué toute la mémoire disponible sur votre système. Cela peut être dû à un tableau alloué de façon dynamique devenu trop important ou à l'instanciation d'un grand nombre d'objets.

Pour corriger cette erreur

  • Utilisez l'instruction Erase pour réallouer l'espace de stockage du tableau dynamique.
  • Utilisez l'instruction ReDim pour réallouer l'espace de stockage.
  • Fermez toutes les applications, documents ou fichiers source dont vous n'avez pas besoin.

Voir aussi

Erase, instruction | Dim, instruction | Nothing | ReDim, instruction | CreateObject, fonction


Espace pile insuffisant

Vous avez trop de procédures imbriquées. Chaque fois que votre code rencontre un branchement vers une procédure, le contenu de ses variables locales est mis en haut de la pile. La pile est une zone de mémoire dont la taille augmente ou diminue de manière dynamique en fonction des besoins du script en cours d'exécution.

Pour corriger cette erreur

  • Vérifiez que les procédures ne comportent pas trop de niveaux d'imbrication.
  • Assurez-vous que les procédures récursives (rentrantes) ne s'appellent pas elles-mêmes trop souvent.
  • Assurez-vous que les procédures récursives se terminent correctement.


Espace chaîne insuffisant

Vous avez tenté de créer un objet chaîne, mais cela a échoué car vous avez épuisé toute la mémoire du système. Cela peut être dû à un tableau alloué de façon dynamique devenu trop important ou à l'instanciation d'un grand nombre d'objets.

Pour corriger cette erreur

  • Utilisez l'instruction Erase pour réallouer l'espace de stockage du tableau dynamique.
  • Utilisez l'instruction ReDim pour réallouer l'espace de stockage.
  • Fermez toutes les applications, documents ou fichiers source dont vous n'avez pas besoin.

Voir aussi

Erase, instruction | Dim, instruction | Nothing | ReDim, instruction | CreateObject, fonction


Dépassement de capacité

La valeur que vous tentez d'affecter à une variable est trop grande. Cette erreur se produit lorsque l'une des conditions suivantes se vérifie :

  • Le résultat d'une affectation, d'un calcul ou d'une conversion d'un type de données est trop important pour être représenté dans la plage de valeurs autorisées pour ce type de variable.
  • Une affectation à une propriété dépasse la valeur maximum pouvant être acceptée par la propriété.
  • Vous avez essayé d'utiliser un nombre dans un calcul, ce nombre est contraint à un entier, mais le résultat est plus important qu'un entier.

Pour corriger cette erreur

  • Affectez la valeur à une variable d'un type pouvant accepter une plage de valeurs plus importante.
  • Assurez-vous que votre affectation se situe dans la plage de la propriété pour laquelle elle a été effectuée.

Variables de VBScript | Err


La propriété Set ou Let doit comporter au moins un argument

Vous avez spécifié un mécanisme d'accès à une propriété pour Set ou Let d'une classe, mais n'avez pas indiqué d'arguments.

Pour corriger cette erreur

  • Ajoutez un argument au mécanisme d'accès à la propriété.

Voir aussi

Property Let, instruction | Property Set, instruction | Property Get, instruction | Class, instruction


Sub ou Function non défini

Vous avez tenté d'appeler une procédure qui n'existe pas.

Pour corriger cette erreur

  • Vérifiez l'orthographe de la procédure pour être sûr qu'elle ne comporte pas de fautes.

Sub, instruction | Function, instruction


Indice en dehors de la plage

Le tableau auquel vous essayez d'accéder contient moins d'éléments que le nombre que vous escomptez. Par exemple, vous essayez d'accéder au 11ème élément d'un tableau dimensionné pour dix éléments.

Pour corriger cette erreur

  • Assurez-vous que votre code contient des bornes permettant de s'assurer que les éléments en dehors de la portée du tableau ne sont pas référencés.
  • Redimensionnez le tableau à la taille supérieure appropriée.

Voir aussi

UBound, fonction | LBound, fonction | Dim, instruction | ReDim, instruction


Erreur de syntaxe

Vous avez créé une instruction qui enfreint une ou plusieurs règles grammaticales de VBScript.

Pour corriger cette erreur

  • Vérifiez à nouveau le nombre d'éléments composant une expression.
  • Vérifiez que les crochets sont dans le bon sens.

Voir aussi

Types de données de VBScript | Variables de VBScript | Constantes de VBScript | Opérateurs de VBScript | Utilisation d'instructions conditionnelles | Boucles de répétition du code | Procédures de VBScript | Conventions de codage de VBScript


Erreur de syntaxe dans l'expression régulière

La structure de votre chaîne de recherche enfreint une ou plusieurs règles grammaticales d'une expression régulière VBScript.

Pour corriger cette erreur

  • Assurez-vous que la structure de votre chaîne de recherche d'expression régulière respecte la syntaxe Perl.

Regular Expression (RegExp), objet


Type incompatible

Vous avez tenté de comparer des valeurs de types de données incompatibles. Comparer une chaîne à une valeur numérique, par exemple, provoquerait cette erreur.

Pour corriger cette erreur

  • Assurez-vous que les types de données correspondent avant d'établir des comparaisons.
  • Convertissez l'une des valeurs par le type de données de l'autre et effectuez de nouveau la comparaison.

Variables de VBScript


'Next' inattendu

Vous avez créé une construction For...Next ou For Each...Next, mais n'avez pas inclus l'instruction For. Vous avez peut-être, par exemple, tenté de supprimer une construction For...Next, mais avez oublié de supprimer l'instruction Next. L'exemple suivant illustre l'utilisation correcte de la construction For...Next.

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Pour corriger cette erreur

  • Ajoutez l'instruction For (instruction de contrôle de boucle).
  • Supprimez l'instruction Next en trop.

Voir aussi

For...Next, instruction | For Each...Next, instruction | Boucles de répétition du code | Exit, instruction


Quantifiant inattendu

Lors de la composition de votre modèle de recherche d'expression régulière, vous n'avez pas spécifié la chaîne de concordance.

Pour corriger cette erreur

  • Assurez-vous que le modèle de recherche est construit correctement.

Regular Expression (RegExp), objet


Constante de chaîne non terminée

Vous n'avez pas terminé votre constante de chaîne par des guillemets de fin. Les constantes de chaîne doivent toujours être mises entre guillemets.

Pour corriger cette erreur

  • Ajoutez le guillemet de fin à la suite de la chaîne.

Constantes de VBScript


Variable indéfinie

Vous avez utilisé l'instruction Option Explicit au début de votre script, puis tenté d'utiliser un nom de variable non déclaré après coup. Lorsque vous utilisez l'instruction Option Explicit, vous devez déclarer explicitement toutes les variables utilisant les instructions Dim, Private, Public ou ReDim.

Pour corriger cette erreur

  • Lorsque vous utilisez l'instruction Option Explicit, veillez à déclarer toutes les variables à l'aide de l'instruction Dim, Private, Public ou ReDim.

Option Explicit, instruction | Variables de VBScript


Cette variable utilise un type Automation non géré par VBScript

Vous avez tenté d'utiliser un type de données non géré à partir d'une bibliothèque d'objets ou de types. Vous ne pouvez pas utiliser toutes les variables apparaissant dans les bibliothèques d'objets ou de types dans chacun des langages de programmation.

Pour corriger cette erreur

  • Utilisez uniquement des types de variable reconnus par VBScript.

Variables de VBScript | VarType, constantes


Nombre d'arguments incorrect ou affectation de propriété incorrecte

Vous avez appelé une procédure, mais avez utilisé :

  • un nom de procédure incorrect,

ou

  • un nombre d'arguments incorrect pour cette procédure,

ou

  • des types d'argument incorrects.

Le nombre d'arguments transmis à une procédure doit correspondre au nombre de paramètres présents dans la définition de la procédure.

Pour corriger cette erreur

  • Vérifiez que la liste des arguments que vous transmettez à la procédure correspond à celle dans la définition ou la déclaration de la procédure.

Function, instruction | Sub, instruction | Call, instruction


RemoveAll, méthode

Éditions Visual Basic Scripting Référence du langage

RemoveAll

La méthode RemoveAll retire toutes les paires clé/élément d'un objet Dictionary.

object.RemoveAll

L'espace réservé object correspond toujours au nom d'un objet Dictionary.

Notes

Le code suivant illustre l'emploi de la méthode RemoveAll :

Dim a, d, i   ' Crée des variables
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athènes"   ' Ajoute des clés et des éléments
d.Add "b", "Belgrade"
d.Add "c", "Casablanca"
...
a = d.RemoveAll   ' Purge le dictionnaire

Voir aussi

Add, méthode (Dictionary) | Exists, méthode | Items, méthode | Keys, méthode | Remove, méthode

Application: Dictionary, objet


TextStream

Facilite l'accès séquentiel à un fichier.

Notes

Dans le code suivant, a correspond à l'objet TextStream renvoyé par la méthode CreateTextFile sur l'objet FileSystemObject :

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close

WriteLine et Close sont deux méthodes de l'objet TextStream.

Propriétés

AtEndOfLine, propriété | AtEndOfStream, propriété | Column, propriété | Line, propriété

Méthodes

Close, méthode | Read, méthode | ReadAll, méthode | ReadLine, méthode | Skip, méthode | SkipLine, méthode | Write, méthode | WriteLine, méthode | WriteBlankLines, méthode

Dictionary, objet | FileSystemObject, objet


Argument ou appel de procédure incorrect

Vous avez transmis un paramètre incorrect dans l'appel de procédure. Il se peut que le paramètre soit hors plage ou contienne des données incorrectes. Vous pouvez également avoir appelé une procédure à un moment inattendu.

Pour corriger cette erreur

  • Vérifiez que les paramètres transmis à la procédure sont corrects.
  • Vérifiez que vous appelez la fonction à un moment opportun.


La machine du serveur distant n'existe pas ou n'est pas disponible

Vous avez utilisé la fonction CreateObject pour créer un objet sur une machine distante, mais l'appel a échoué, soit parce que le serveur distant n'était pas accessible, soit parce qu'il ne contenait pas la classe spécifiée.

Pour corriger cette erreur

  • Vérifiez que le nom du serveur distant est correct.
  • Vérifiez que DCOM est activé pour le serveur distant.
  • À l'aide de l'application dcomcnfg, vérifiez que les permissions de sécurité autorisent la création de l'objet.


Glossaire VBScript

argument

Constante, variable ou expression transmise à une procédure.

bibliothèque de types

Fichier ou composant d'un autre fichier contenant des descriptions standard d'objets, méthodes et propriétés exposés.

classe

Définition formelle d'un objet. La classe joue le rôle d'un modèle à partir duquel une instance d'un objet est créée à l'exécution. La classe définit les propriétés de l'objet et les méthodes utilisées pour contrôler le comportement de celui-ci.

code de caractère

Nombre représentant un caractère particulier d'un jeu, le jeu de caractères ASCII par exemple.

collection

Objet contenant un ensemble d'objets en relation. La position d'un objet dans la collection peut être modifiée chaque fois qu'un changement se produit dans la collection. La position dans la collection de tout objet spécifique peut donc varier.

commentaire

Texte ajouté au code par un développeur pour expliquer le fonctionnement du code. Dans Visual Basic Script, une ligne de commentaire commence habituellement par une apostrophe (') ; vous pouvez aussi utiliser le mot clé Rem suivi d'un espace.

comparaison binaire

Comparaison bit par bit des bits dont la position est identique dans deux expressions numériques.

comparaison de chaîne

Combinaison de deux séquences de caractères. Sauf spécification contraire dans la fonction de comparaison, toutes les comparaisons de chaîne sont binaires. En Anglais, les comparaisons binaires respectent la casse, au contraire des comparaisons de texte.

constante

Élément nommé qui conserve une valeur constante pendant toute l'exécution d'un programme. Vous pouvez utiliser des constantes n'importe où dans votre code à la place de valeurs réelles. Une constante peut être une chaîne ou un littéral numérique, une autre constante ou toute combinaison incluant des opérateurs arithmétiques ou logiques à l'exception de Is et de l'élévation à une puissance. Par exemple :

Const A = "MyString"

constante intrinsèque

Constante fournie par une application. Étant donné qu'une constante intrinsèque ne peut être désactivée, vous ne pouvez pas créer de constante utilisateur portant le même nom.

contrôle ActiveX

Objet placé sur une feuille pour permettre ou améliorer l'interaction de l'utilisateur avec l'application. Les contrôles ActiveX comprennent des événements et peuvent être incorporés à d'autres contrôles. Leur nom de fichier comporte l'extension .ocx.

Empty

Valeur indiquant qu'aucune valeur n'a encore été affectée à une variable. Les variables Empty correspondent à 0 dans un contexte numérique ou de longueur nulle dans un contexte de chaîne.

erreur d'exécution

Erreur qui se produit au cours de l'exécution du code. Une erreur d'exécution se produit lorsqu'une instruction tente une opération incorrecte.

exécution

Phase pendant laquelle le code s'exécute. Pendant l'exécution, vous ne pouvez pas modifier le code.

expression

Combinaison de mots clés, d'opérateurs, de variables et de constantes qui produit une chaîne, un nombre ou un objet. Une expression peut effectuer un calcul, manipuler des caractères ou tester des données.

expression booléenne

Expression dont le résultat est True ou False.

expression de chaîne

Toute expression qui peut être évaluée en séquence de caractères contigus. Parmi les éléments d'une expression de chaîne peuvent figurer une fonction renvoyant une chaîne, une constante de chaîne, un littéral chaîne ou une variable chaîne.

expression de date

Toute expression pouvant être interprétée comme une date. Ceci comprend toute combinaison de littéraux de date, de nombres ou de chaînes ressemblant à des dates, et de dates retournées par des fonctions. Une expression de date est limitée aux nombres ou chaînes, sous toute forme de combinaison, qui représentent une date comprise entre le 1er janvier 100 et le 31 décembre 9999.

Les dates sont enregistrées comme partie d'un nombre réel. Les valeurs à gauche de la virgule représentent la date, tandis que les valeurs à droite représentent le temps. Les valeurs négatives correspondent aux dates antérieures au 30 décembre 1899.

expression numérique

Toute expression pouvant être résolue sous forme de nombre. Les éléments de l'expression peuvent inclure toute combinaison de mots clés, de variables, de constantes et d'opérateurs dont le résultat est un nombre.

VBScript interprète toujours un littéral date comme Anglais-U.S. s'il en a la possibilité. Si un littéral date ne peut pas être interprété comme une date, une erreur survient.

jeu de caractères ASCII

Jeu de caractères ASCII (American Standard Code for Information Interchange) codés sur 7 bits largement utilisé pour représenter les lettres et les symboles d'un clavier américain standard. Le jeu de caractères ASCII est identique aux 128 premiers caractères (0–127) du jeu de caractères ANSI.

littéral de date

Séquence de caractères devant être délimités par le symbole dièse (#). Pour être valide, le format de date doit correspondre à celui spécifié par les paramètres régionaux pour votre code ou au format de date universel. Par exemple, #12/31/99# est un littéral de date représentant le 31 décembre 1999, lorsque votre application est définie avec les paramètres régionaux Anglais-U.S.

VBScript interprète toujours un littéral de date en tant que ANGLAIS-US, chaque fois que cela est possible. Si un littéral de date ne peut pas être interprété en tant que date, une erreur est générée.

module de classe

Module contenant la définition d'une classe (la définition de ses propriétés et de ses méthodes).

mot clé

Mot ou symbole reconnu comme faisant partie du langage VBScript ; par exemple une instruction, un nom de fonction ou un opérateur.

niveau procédure

Décrit les instructions situées à l'intérieur d'une procédure Function ou Sub. Généralement, les déclarations figurent en premier, suivies des affectations et du code exécutable. Exemple :

Sub MySub() ' Cette instruction déclare un bloc de sous-procédure.
   Dim A ' Cette instruction démarre le bloc de procédure.
   A = "My variable" ' Code de niveau de procédure.
   Debug.Print A ' Code de niveau de procédure.
End Sub ' Cette instruction met fin au bloc de sous-procédure.

Notez que le code de niveau script se trouve à l'extérieur des blocs de procédure.

niveau script

Tout code figurant hors d'une procédure est désigné comme code de niveau script.

Nothing

Valeur spéciale indiquant qu'une variable objet n'est plus associée à un objet réel.

Null

Valeur indiquant qu'une variable ne contient aucune donnée valide. Null est le résultat :

  • d'une affectation explicite de la valeur Null à une variable ;
  • de toute opération entre expressions contenant la valeur Null.

numéro de l'erreur

Nombre entier compris entre 0 et 65 535 inclus qui correspond à la propriété Number de l'objet Err. Lorsqu'il est combiné à la propriété Name de l'objet Err, ce numéro représente un message d'erreur particulier.

objet ActiveX

Objet exposé aux autres applications ou outils de programmation par l'intermédiaire des interfaces Automation.

objet Automation

Objet exposé aux autres applications ou outils de programmation par l'intermédiaire des interfaces Automation.

opérateur de comparaison

Un caractère ou symbole indiquant une relation entre deux ou plusieurs valeurs ou expressions. Ces opérateurs incluent Inférieur à (<), Inférieur ou égal à (<=), Supérieur à (>), Supérieur ou égal à (>=), Différent (!=), et Égal (==).

C'est aussi un opérateur de comparaison, mais il est exclusivement utilisé pour déterminer si une référence d'un objet est identique à une autre.

paramètres régionaux

Informations relatives à une langue ou un pays donné. Les paramètres régionaux affectent le langage des termes de programmation préétablis et les réglages spécifiques au pays. Ces informations sont importantes dans deux cas précis :

Les paramètres régionaux affectent la langue des termes, tels que les mots clés, et définissent les règles spécifiques à un pays, comme les séparateurs décimaux et de liste, le format des dates et l'ordre de tri des caractères.

De plus, ils affectent le comportement des fonctionnalités spécifiques à un pays, notamment lorsque vous affichez des nombres ou convertissez des chaînes en dates. Les paramètres régionaux système doivent être définis à l'aide des utilitaires du Panneau de configuration fournis par le système d'exploitation.

par référence

Moyen de transmettre l'adresse, au lieu de la valeur, d'un argument à une procédure. Ceci permet à la procédure d'accéder à la variable elle-même. En conséquence, la valeur de la variable peut être modifiée par la procédure à laquelle elle est transmise.

par valeur

Moyen de transmettre la valeur, au lieu de l'adresse, d'un argument à une procédure. Ceci permet à la procédure d'accéder à une copie de la variable. En conséquence, la valeur de la variable ne peut pas être modifiée par la procédure à laquelle elle est transmise.

pi

Pi est une constante mathématique approximativement égale à 3,1415926535897932.

plages de données

Chaque sous-type Variant comporte une plage spécifique de valeurs autorisées :

Sous-type | Plage
Byte | 0 à 255.
Boolean | True ou False.
Integer | -32,768 à 32,767.
Long | -2,147,483,648 à 2,147,483,647.
Single | -3.402823E38 à -1.401298E-45 pour les valeurs négatives ; 1.401298E-45 à 3.402823E38 pour les valeurs positives.
Double | -1.79769313486232E308 à -4.94065645841247E-324 pour les valeurs négatives ; 4.94065645841247E-324 à 1.79769313486232E308 pour les valeurs positives.
Currency | -922,337,203,685,477.5808 à 922,337,203,685,477.5807.
Date | Du 1er janvier 100 au 31 décembre 9999, inclus.
Object | Toute référence Object.
String | Chaînes de longueur variable comprise entre 0 et approximativement 2 milliards de caractères.

portée

Définit la visibilité d'une variable, d'une procédure ou d'un objet. Par exemple, une variable déclarée comme Public est visible pour toutes les procédures dans tous les modules. Les variables déclarées dans les procédures ne sont visibles qu'à l'intérieur de la procédure et elles perdent leur valeur entre les appels.

Private

Variables visibles uniquement à l'intérieur du script dans lequel elles sont déclarées.

procédure

Séquence nommée d'instructions exécutée comme une unité. Par exemple, Function et Sub sont des types de procédures.

propriété

Attribut nommé d'objet. Les propriétés définissent les caractéristiques de l'objet telles que la taille, la couleur, l'emplacement sur l'écran ou l'état d'un objet (activé ou désactivé, par exemple).

Public

Variables déclarées avec l'instruction Public ; elles sont visibles par toutes les procédures de tous les modules de toutes les applications.

SCODE

Entier long utilisé pour transmettre des informations détaillées à l'appelant d'un membre d'interface ou d'une fonction API. Les codes d'état des interfaces OLE et des API sont définis dans FACILITY_ITF.

séparateurs de date

Caractères utilisés pour séparer le jour, le mois et l'année quand les valeurs de date sont mises en forme.

tableau

Ensemble d'éléments indexés de façon séquentielle et ayant le même type de données. Chaque élément d'un tableau est repéré par un numéro d'index unique. Les changements effectués sur un seul élément d'un tableau n'affectent pas les autres éléments.

type d'objet

Type d'objet exposé par une application, par exemple, Application, File, Range et Sheet. Pour obtenir une liste complète des objets disponibles, reportez-vous à la documentation de l'application (Microsoft Excel, Microsoft Project, Microsoft Word, etc.).

valeur initiale

Valeur initiale utilisée pour générer des nombres pseudo-aléatoires. Par exemple, l'instruction Randomize crée une valeur initiale utilisée par la fonction Rnd afin de générer des séquences de nombres pseudo-aléatoires uniques.

variable

Emplacement de stockage nommé qui peut contenir des données pouvant être modifiées pendant l'exécution du programme. Chaque variable a un nom qui l'identifie de façon unique à l'intérieur de son niveau de portée.

Les noms de variables :

  • doivent commencer par un caractère alphabétique ;
  • ne peuvent contenir une virgule intégrée ou un caractère de déclaration de type ;
  • doivent être uniques à l'intérieur de la même portée ;
  • ne doivent pas dépasser 255 caractères.


vbstoc $ Informations de version

Éditions Visual Basic Scripting Référence du langage

$Informations de version

Le tableau suivant indique la version de Microsoft Visual Basic Scripting Edition implémentée par chaque application hôte.

Application hôte | 1.0 | 2.0 | 3.0 | 4.0 | 5.0
Microsoft Internet Explorer 3.0 | X |  |  |  |
Microsoft Internet Information Server 3.0 |  | x |  |  |
Microsoft Internet Explorer 4.0 |  |  | x |  |
Microsoft Internet Information Server 4.0 |  |  | x |  |
Microsoft Windows Scripting Host 1.0 |  |  | x |  |
Microsoft Outlook 98 |  |  | x |  |
Microsoft Visual Studio 6.0 |  |  |  | x |
Microsoft Internet Explorer 5.0 |  |  |  |  | x
Microsoft Internet Information Services 5.0 |  |  |  |  | x

Le tableau suivant dresse la liste des fonctions du langage VBScript ainsi que la version où elles ont été introduites pour la première fois.

Élément du langage | 1.0 | 2.0 | 3.0 | 4.0 | 5.0
Abs, fonction | x |  |  |  |
+ (addition), opérateur | x |  |  |  |
And, opérateur | x |  |  |  |
Array, fonction |  | x |  |  |
Asc, fonction | x |  |  |  |
= (affectation), opérateur | x |  |  |  |
Atn, fonction | x |  |  |  |
Call, instruction | x |  |  |  |
CBool, fonction | x |  |  |  |
CByte, fonction | x |  |  |  |
CCur, fonction | x |  |  |  |
CDate, fonction | x |  |  |  |
CDbl, fonction | x |  |  |  |
Chr, fonction | x |  |  |  |
CInt, fonction | x |  |  |  |
Class, objet |  |  |  |  | x
Class, instruction |  |  |  |  | x
Clear, méthode | x |  |  |  |
CLng, fonction | x |  |  |  |
Couleur, constantes |  | x |  |  |
Comparaison, constantes |  | x |  |  |
& (concaténation), opérateur | x |  |  |  |
Const, instruction |  | x |  |  |
Cos, fonction | x |  |  |  |
CreateObject, fonction |  | x |  |  |
CSng, fonction | x |  |  |  |
CStr, fonction | x |  |  |  |
Date/Heure, constantes |  | x |  |  |
Format de date, constantes |  | x |  |  |
Date, fonction | x |  |  |  |
DateAdd, fonction |  | x |  |  |
DateDiff, fonction |  | x |  |  |
DatePart, fonction |  | x |  |  |
DateSerial, fonction | x |  |  |  |
DateValue, fonction | x |  |  |  |
Day, fonction | x |  |  |  |
Description, propriété | x |  |  |  |
Dim, instruction | x |  |  |  |
/ (division), opérateur | x |  |  |  |
Do...Loop, instruction | x |  |  |  |
Empty | x |  |  |  |
Eqv, opérateur | x |  |  |  |
Erase, instruction | x |  |  |  |
Err, objet | x |  |  |  |
Eval, fonction |  |  |  |  | x
Execute, méthode |  |  |  |  | x
Execute, instruction |  |  |  |  | x
ExecuteGlobal, instruction |  |  |  |  | x
Exit, instruction | x |  |  |  |
Exp, fonction | x |  |  |  |
^ (élévation à la puissance), opérateur | x |  |  |  |
False | x |  |  |  |
Filter, fonction |  | x |  |  |
FirstIndex, propriété |  |  |  |  | x
Fix, fonction | x |  |  |  |
For...Next, instruction | x |  |  |  |
For Each...Next, instruction |  | x |  |  |
FormatCurrency, fonction |  | x |  |  |
FormatDateTime, fonction |  | x |  |  |
FormatNumber, fonction |  | x |  |  |
FormatPercent, fonction |  | x |  |  |
Function, instruction | x |  |  |  |
GetLocale, fonction |  |  |  |  | x
GetObject, fonction |  | x |  |  |
GetRef, fonction |  |  |  |  | x
Global, propriété |  |  |  |  | x
Hex, fonction | x |  |  |  |
HelpContext, propriété |  | x |  |  |
HelpFile, propriété |  | x |  |  |
Hour, fonction | x |  |  |  |
If...Then...Else, instruction | x |  |  |  |
IgnoreCase, propriété |  |  |  |  | x
Imp, opérateur | x |  |  |  |
Initialize, événement |  |  |  |  | x
InputBox, fonction | x |  |  |  |
InStr, fonction | x |  |  |  |
InStrRev, fonction |  | x |  |  |
Int, fonction | x |  |  |  |
\ (division entière), opérateur | x |  |  |  |
Is, opérateur | x |  |  |  |
IsArray, fonction | x |  |  |  |
IsDate, fonction | x |  |  |  |
IsEmpty, fonction | x |  |  |  |
IsNull, fonction | x |  |  |  |
IsNumeric, fonction | x |  |  |  |
IsObject, fonction | x |  |  |  |
Join, fonction |  | x |  |  |
LBound, fonction | x |  |  |  |
LCase, fonction | x |  |  |  |
Left, fonction | x |  |  |  |
Len, fonction | x |  |  |  |
Length, propriété |  |  |  |  | x
LoadPicture, fonction |  | x |  |  |
Log, fonction | x |  |  |  |
LTrim, fonction | x |  |  |  |
Match, objet |  |  |  |  | x
Matches, collection |  |  |  |  | x
Mid, fonction | x |  |  |  |
Minute, fonction | x |  |  |  |
Divers, constantes |  | x |  |  |
Mod, opérateur | x |  |  |  |
Month, fonction | x |  |  |  |
MonthName, fonction |  | x |  |  |
MsgBox, constantes |  | x |  |  |
MsgBox, fonction | x |  |  |  |
* (multiplication), opérateur | x |  |  |  |
- (négation), opérateur | x |  |  |  |
Not, opérateur | x |  |  |  |
Now, fonction | x |  |  |  |
Nothing | x |  |  |  |
Null | x |  |  |  |
Number, propriété | x |  |  |  |
Oct, fonction | x |  |  |  |
On Error, instruction | x |  |  |  |
Option Explicit, instruction | x |  |  |  |
Or, opérateur | x |  |  |  |
Pattern, propriété |  |  |  |  | x
Private, instruction |  | x |  |  |
PropertyGet, instruction |  |  |  |  | x
PropertyLet, instruction |  |  |  |  | x
PropertySet, instruction |  |  |  |  | x
Public, instruction |  | x |  |  |
Raise, méthode | x |  |  |  |
Randomize, instruction | x |  |  |  |
ReDim, instruction | x |  |  |  |
RegExp, objet |  |  |  |  | x
Rem, instruction | x |  |  |  |
Replace, fonction |  | x |  |  |
Replace, méthode |  |  |  |  | x
RGB, fonction |  | x |  |  |
Right, fonction | x |  |  |  |
Rnd, fonction | x |  |  |  |
Round, fonction |  | x |  |  |
RTrim, fonction | x |  |  |  |
ScriptEngine, fonction |  | x |  |  |
ScriptEngineBuildVersion, fonction |  | x |  |  |
ScriptEngineMajorVersion, fonction |  | x |  |  |
ScriptEngineMinorVersion, fonction |  | x |  |  |
Second, fonction | x |  |  |  |
Select Case, instruction | x |  |  |  |
Set, instruction | x |  |  |  |
SetLocale, fonction |  |  |  |  | x
Sgn, fonction | x |  |  |  |
Sin, fonction | x |  |  |  |
Source, propriété | x |  |  |  |
Space, fonction | x |  |  |  |
Split, fonction |  | x |  |  |
Sqr, fonction | x |  |  |  |
StrComp, fonction | x |  |  |  |
Chaîne, constante |  | x |  |  |
String, fonction | x |  |  |  |
StrReverse, fonction |  | x |  |  |
Sub, instruction | x |  |  |  |
- (soustraction), opérateur | x |  |  |  |
Tan, fonction | x |  |  |  |
Terminate, événement |  |  |  |  | x
Test, méthode |  |  |  |  | x
Time, fonction | x |  |  |  |
Timer, fonction |  |  |  |  | x
TimeSerial, fonction | x |  |  |  |
TimeValue, fonction | x |  |  |  |
Trim, fonction | x |  |  |  |
3-états, constantes |  | x |  |  |
True | x |  |  |  |
TypeName, fonction |  | x |  |  |
UBound, fonction | x |  |  |  |
UCase, fonction | x |  |  |  |
Value, propriété |  |  |  |  | x
VarType, constantes |  | x |  |  |
VarType, fonction | x |  |  |  |
Constantes de VBScript |  | x |  |  |
Weekday, fonction | x |  |  |  |
WeekdayName, fonction |  | x |  |  |
While...Wend, instruction | x |  |  |  |
With, instruction |  |  |  |  | x
Xor, opérateur | x |  |  |  |
Year, fonction | x |  |  |  |


Validation simple

Entrez une valeur entre 1 et 10 :


Une première page simple


Référence d'exécution VBScript

Microsoft® Visual Basic® Scripting Edition
Référence d'exécution Scripting

Caractéristiques
Constantes
Liste des
mots clés
Méthodes
Objets
Propriétés

© 2000 Microsoft Corporation. Tous droits réservés.


Exemple d'objet

Cette page requiert l'installation du contrôle Label.


Référence du langage VBScript

Microsoft® Visual Basic® Scripting Edition
Référence du langage VBScript

Caractéristiques
Constantes
Erreurs
Événements
Fonctions
Instructions
Liste des
mots clés
Méthodes
Objets
Opérateurs
Propriétés

© 2000 Microsoft Corporation. Tous droits réservés.