Utiliser des API en VBScript ???


Le VBScript est un VB un peu édulcoré.
Parmi les limitations notables, pas de possibilité d'utiliser les API et leurs multiples applications (cliquez ici).

Quand on ne dispose pas de VB, on peut toutefois "tricher" en lançant une instance masquée d'Excel à partir du code VBScript, avant de lancer les API via VBA pour Excel puis de refermer Excel. L'ouverture d'Excel perd certainement un peu de temps, mais le résultat peut être très intéressant.

Un exemple, recouvrir une partie de l'écran de bulles.

La macro VBA pour Excel utilisant les API est décrite dans les exemples VBA (cliquez ici).

Le VBScript va d'abord ouvrir une instance d'Excel par
Set exl = WScript.CreateObject("excel.Application"),
la rendre invisible par exl.Visible = false,
puis ouvrir un nouveau classeur dont le seul rôle sera d'héberger la macro contenant les API :
set fichxl=exl.workbooks.add.

Reste à copier la macro VBA dans un module et la lancer.
Pour ce faire, on crée un nouveau module dans notre classeur fichxl :
Set mdle = fichxl.VBProject.VBComponents.Add(1),
Dans lequel il suffit d'inscrire les lignes de macro par :
mdle.CodeModule.InsertLines 1, "texte de la ligne 1"
mdle.CodeModule.InsertLines 2, "texte de la ligne 2"
mdle.CodeModule.InsertLines 3, "texte de la ligne 3"
...


Une fois la macro (sub bulles()) recopiée dans le module, il suffit de la lancer toujours depuis Excel par exl.Run "bulles",
puis de fermer le fichier et de quitter Excel par :
fichxl.close(false)
exl.quit
.

L'utilisateur ne voit que les bulles apparaître sur son écran, le support Excel reste masqué pendant toute l'exécution de l'opération.

cliquez ici pour voir le texte complet du script
cliquez ici pour télécharger le script (zippé)
cliquez ici pour ouvrir le script.


Sur le même principe, le VBS suivant permet d'écrire n'importe où sur l'écran :
cliquez ici pour voir le texte complet du script
cliquez ici pour télécharger le script (zippé)
cliquez ici pour ouvrir le script.


Ou bien, pour récupérer sur Internet le dernier cours d'une action dont on indique le code Sicovam :
cliquez ici pour voir le texte complet du script
cliquez ici pour télécharger le script (zippé)
cliquez ici pour ouvrir le script.


Ou encore pour télécharger automatiquement n'importe quel type de fichier (cliquez ici).


Pour simplifier la transposition d'une macro VBA (contenant éventuellement des API) en VBScript, vous pouvez utiliser le script proposé ci-dessous :

cliquez ici pour voir le texte complet du script "transposeur"
cliquez ici pour télécharger le script (zippé)
cliquez ici pour lancer le script.


Voir aussi la création de fichiers de musique en VBS (cliquez ici).