Définition
VBScript
VBScript est un diminutif de Microsoft Visual Basic Scripting Edition
Exemple de script
Obectif : ouvrir un nouveau classeur Excel depuis une page Web
<html>
<body>
<input name="bouton1" type="button" value="Cliquez ici" />
<script type="text/vbscript">
'Procédure evènementielle sur bouton
Sub bouton1_OnClick()
Dim app
Dim wb
Set app = CreateObject("Excel.Application")
app.Visible = True
'Ouverture d'un classeur
Set wb = app.Workbooks.Add
wb.Save
wb.Close ' ou bien app.Workbooks.Close
app.Quit
End Sub
</script>
</body>
</html>
<body>
<input name="bouton1" type="button" value="Cliquez ici" />
<script type="text/vbscript">
'Procédure evènementielle sur bouton
Sub bouton1_OnClick()
Dim app
Dim wb
Set app = CreateObject("Excel.Application")
app.Visible = True
'Ouverture d'un classeur
Set wb = app.Workbooks.Add
wb.Save
wb.Close ' ou bien app.Workbooks.Close
app.Quit
End Sub
</script>
</body>
</html>
Remarque: un simple onload sur le nom de la procédure permetrait d'exécuter la fonction sans passer par un bouton.
Pour aller plus loin
Objectif : exécuter une macro qui se trouve dans un classeur Excel
'Ouvre un classeur et exécute une macro
Set wb = app.Workbooks.open("C:\Classeur1.xlsm")
app.Run "nomdumodule.nomdelamacro"
' Pour ajouter un module dans le classeur ouvert :
Set mdle = app.VBProject.VBComponents.Add(1)
'Ecrit la macro dans le classeur Excel
num=0
num=num+1:mdle.CodeModule.InsertLines num, "Sub Macro1()"
num=num+1:mdle.CodeModule.InsertLines num, "patali, patala"
num=num+1:mdle.CodeModule.InsertLines num, "End Sub"
Set wb = app.Workbooks.open("C:\Classeur1.xlsm")
app.Run "nomdumodule.nomdelamacro"
' Pour ajouter un module dans le classeur ouvert :
Set mdle = app.VBProject.VBComponents.Add(1)
'Ecrit la macro dans le classeur Excel
num=0
num=num+1:mdle.CodeModule.InsertLines num, "Sub Macro1()"
num=num+1:mdle.CodeModule.InsertLines num, "patali, patala"
num=num+1:mdle.CodeModule.InsertLines num, "End Sub"