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.FileSystemObjectpar : Dim fsoCette 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

Dans cet article...
Article mis à jour le 07/02/2009