OVH Cloud OVH Cloud

Fonctions ou externes

5 réponses
Avatar
Pasobo
Bonjour,

(Décidemment, je prends goût à ce NG ;-))

Existe-t-il un moyen d'appeler des fonctions ou des procédures
dans un fichier externe au .vbs lui même ?

2 buts à ma requête :
- Nettoyer le script pour la maintenance
- Utilisation/partage de fonctions/procédures entre .vbs

Je pense
- créer des fichiers spécifiques pour certaines fontions importantes
- créer des fichiers regroupant les fonctions et procédures par usage
(fichiers, bdr, etc...)

Justement, si cela est possible,
quel est le meilleur usage des foncrions externes.

Merci,

Pasobo

5 réponses

Avatar
Gilles LAURENT
"Pasobo" a écrit dans le message de
news:4505e069$0$17171$
| Bonjour,

Bonsoir,

| Existe-t-il un moyen d'appeler des fonctions ou des procédures
| dans un fichier externe au .vbs lui même ?

Ci-dessous une procédure permettant d'inclure du code issu d'un fichier
externe :

-- Coupez ici : include.vbs --

Option Explicit

' chargement du fichier vbs contenant les variables, les fonctions
' et les procédures externes
Include "functions.vbs"

' exécution de la procédure externe
externalSub "test"

' affichage de la variable externe
WScript.Echo externalVar

' déclaration de la procédure
' en entrée, le chemin complet du fichier à inclure
Sub Include (strFileName)

' déclaration des variables
Dim oFs, oFile
Dim strLines

' initialisation
Set oFs = CreateObject ("Scripting.FileSystemObject")

' ouverture du fichier
Set oFile = oFs.OpenTextFile (strFileName, 1)

' lecture du fichier
strLines = oFile.ReadAll ()

' chargement du fichier
' toutes les variables, fonctions et procédures seront disponibles
ExecuteGlobal strLines

End Sub

-- Coupez ici : include.vbs --

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
Pasobo
Merci,

Je vais essayer ça aujourd'hui.

Pascal
Avatar
Pasobo
Bonsoir,

Je n'arrive pas à faire fonctionner le .vbs.

J'ai créé un fichier avec ton code include.vbs

J'ai créé un fichier functions.vbs avec le code :

----------------------------------------------------------------
Sub Test
WScript.echo "Coucou !!!"
End sub
----------------------------------------------------------------

Quand, j'execute include.vbs, j'ai une erreur :

Windows Script Hast
OScript: C:Testinclude.vbs
Ligne: 9
Caract, 1
Erreur : Type incompatible: 'externalsub'
Code: 800A000D
Source : Erreur d'exécution Microsoft VB5cript

Merci de ton aide,

Pasobo
Avatar
Gilles LAURENT
"Pasobo" a écrit dans le message de
news:45072a06$0$22201$
| Bonsoir,

Bonsoir,

| Je n'arrive pas à faire fonctionner le .vbs.
|
| J'ai créé un fichier avec ton code include.vbs
|
| J'ai créé un fichier functions.vbs avec le code :
|
| ----------------------------------------------------------------
| Sub Test
| WScript.echo "Coucou !!!"
| End sub
| ----------------------------------------------------------------
|
| Quand, j'execute include.vbs, j'ai une erreur :
|
| Windows Script Hast
| OScript: C:Testinclude.vbs
| Ligne: 9
| Caract, 1
| Erreur : Type incompatible: 'externalsub'
| Code: 800A000D
| Source : Erreur d'exécution Microsoft VB5cript
|
| Merci de ton aide,
|
| Pasobo

Ba oui car le nom de la fonction externalSub est un exemple. (tout comme
externalVar)
Dans votre cas, le nom de la fonction c'est Test ;-)

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
Pasobo
Ba oui car le nom de la fonction externalSub est un exemple. (tout comme
externalVar)
Dans votre cas, le nom de la fonction c'est Test ;-)


Grosses excuses !!!

Evidemment en mettant Test, ça fonctionne mieux.

Merci de ton aide et de ta patience,

Pasobo