Erreur de compilation

Signaler
Messages postés
9
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2007
-
Messages postés
9
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2007
-
bonjour

dans un fichier test.vbs ne contenant que la fonction suivante :


Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    If TextBox1.Value "" Then Cancel True

End Sub

j'ai l'erreur suivante :
Ligne: 1
Caract: 32
Erreur: ')' attendu

apparemment  l'interpréteur s'attend à trouver une paranthère au lieu de "As MSForms.ReturnBoolean"

j'ai remarqué que dès que j'utilise des fonctions "évoluées" çà plante

je dois pouvoir faire tourner ce genre de code en ligne de commande sous DOS :
cscript test.vbs

merci pour l'aide

Jean-Marie

4 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
Je ne savais pas que le pouvait utiliser des Textbox en VBScript.

En VBScript me semble t 'il les variables ne sont pas typé ("As MSForms.ReturnBoolean") mais sont toutes de type Variant (implicite lorsque tu marques Dim TaVal).

De plus je ne pense pas que VBScript aime beaucoup le ByVal.

D'ou vient ce code, et que penses tu qu'il fasses?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
9
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2007

en fait je n'ai pas besoin de cette fonction mais je cherche à utiliser
la fonction BroadcastSystemMessage me permettant de mettre à jour des variables d'environnement ;
ce qui m'a amené à tester d'autres focntions pour voir s'il m'était possible en VBScript
d'utiliser des fonctions "compliquées".
pour être plus clair j'ai un script qui met à jour des variables d'environnement
avec par exemple la commande :
WshShell.Environment("USER").Item("VAR_ENV") = valeur
la mise à jour a bien lieu au niveau du poste de travail (je le vérifie en allant dans Poste de travail -> Propriétés->Avancé->Variable d'environnement
mais si à la suite de cette instruction je lance un shell (.bat) accédant à VAR_ENV
je m'aperçois que VAR_ENV ne contient pas la nouvelle valeur ;
j'ai compris qu'il fallait que j'utilise BroadcastSystemMessage
pour que cette nouvelle valeur soit connue du shell
le pb est que je ne sais pas comment l'utiliser en VBScript

jean-Marie
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
DOnc ton deuxieme post n'a plus rien à voir avec le premier, je m'y pers un peu. Que viens faire alors dans ton script cette nouvelle fonction

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
9
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2007

bonjour

en fait comme je ne sais pas comment utiliser BroadcastSystemMessage, j'essaie avec d'autres
fonctions pour savoir si la version dont je dispose (Microsoft (R) Windows Script Host Version 5.6)
ne me limite pas à l'utilisation de certaines méthodes ; donc j'essaie de comprendre pk cette méthode
ne marche pas ; d'après JMO As MSForms.ReturnBoolean => déclaration pour vb6, dons j'ai compris pk ;

ma vraie question est maintenant peut-on utiliser "BroadcastSystemMessage" avec Windows Script Host Version 5.6
et quelqu'un  a-t'il un exemple ?

Jean-Marie