Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Visual Basic » Scripting Runtime » Le Scripting Runtime en VBScript ou ASPConnexion
 


Dans cet article... 
  • Utiliser le Scripting Runtime dans Office
  • Utiliser le Scripting Runtime en VBScript
  •  Article mis à jour le 07/02/2009

    Utiliser le Scripting Runtime dans Office

    Comme il a été dit sur la page d'introduction, le Scripting Runtime peut s'utiliser ailleurs que dans Access, du fait qu'il s'agit d'une bibliothèque d'objets additionnelle. Les exemples donnés devraient déjà fonctionner sans adaptation dans les autres produits Office (Word, Excel, Powerpoint, FrontPage...), à partir du moment où vous avez créé une référence vers la bibliothèque Microsoft Scripting Runtime.

    D'autres produits proposant de la programmation VBA (AutoCad par exemple) devraient fonctionner à l'identique.

    Utiliser le Scripting Runtime en VBScript

    Vous pouvez également utiliser le Scripting Runtime en VBScript, ce qui permet de gérer les disques, répertoires et fichiers...

    • dans Windows, au travers de fichiers .vbs
    • dans des pages ASP, au travers de fichiers .asp.

    Dans ce cas, quelques aménagements doivent être prévus :

    Différences entre Access/VBA et VBScript
    Référence à la bibliothèque Scripting Runtime En VBScript, vous ne définissez pas de référence à une bibliothèque d'objets. Vous faites appel aux objets au moment de leur utilisation. Voir CreateObject() plus loin.
    Types de données VBScript n'est pas un langage typé. La déclaration des variables se limite à Dim LaVariable (sans le As...).
    Création d'une instance du FileSystemObject Comme aucune référence n'est définie en VBScript et que les variables ne sont pas typées, vous remplacerez la séquence :

    Dim fso As Scripting.FileSystemObject
    Set fso = New Scripting.FileSystemObject


    par :

    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")

    Cette variante fonctionnerait d'ailleurs dans Access, mais serait moins efficace...
    Déclaration des fonctions Comme les variables ne sont pas typées en VBScript, la déclaration de fonction suivante :

    Function FileCopy(ByVal strSourceFile As String, _ ByVal strTargetFile As String)

    devient simplement :

    Function FileCopy(strSourceFile, strTargetFile)
    Constantes VBScript ne connaît pas non plus les constantes. Par exemple, les attributs de fichiers comme Hidden, Archive doivent être remplacés par leur valeur numérique (consultez l'Explorateur d'objets pour connaître ces valeurs).


    Voici par exemple ce que devient en VBScript la fonction FileCopy() donnée pour Access dans les pages précédentes. Pas de grands changements, hein ?

     ' ---
    ' COPIE DE FICHIERS EN VBScript
    ' ---
    ' (c) 2003, Hervé Inisan - www.self-access.com
    '
    ' La fonction FileCopy() duplique un fichier.
    ' ---
    ' Entrée : strSourceFile <- Chemin complet vers le fichier à copier.
    '          strTargetFile <- Chemin du fichier à créer.

    Function FileCopy(strSourceFile, strTargetFile)
    Dim fso
    Dim fle

    ' Créer une instance du FSO
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' On arrête tout si le 1er fichier est introuvable
    If Not fso.FileExists(strSourceFile) Then
        MsgBox
    "Le fichier [" & strSourceFile & "] n'existe pas.", _
            vbExclamation
        Exit Function
    End If

    ' Créer une copie du fichier1
    fso.CopyFile strSourceFile, strTargetFile

    ' Variante produisant le même effet : on utilise la méthode Copy
    ' de l'objet File
    ' Set fle = fso.GetFile(strSourceFile)
    ' fle.Copy strTargetFile

    ' Libérer les objets
    Set fle = Nothing
    Set fso
    = Nothing
    End Function


    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]