2010-03-12 8 views
1

Je suis devenu fou en essayant de comprendre pourquoi mes scripts ne fonctionnaient pas, jusqu'à ce que je commence à copier et coller des exemples de code source directement à partir de quelques sites Web pour y échouer aussi . Je reçois l'erreur suivante dans mes VBScripts:Impossible d'exécuter VBScripts cut-n-paste

C:\temp\vbs\script.vbs(19, 53) Microsoft VBScript compilation error: Expected statement'

Pour une ligne de code qui ressemble à ceci:

wdoc.Application.Selection.Find.Execute Replace:=wdReplaceAll 

Ceci est interfacé avec Word Microsft Office 2007 pour effectuer une recherche et remplacer. L'index 53 pointe directement sur : = partie de l'affectation. Comme ce type de syntaxe ne fonctionne pas sur ma machine et que je l'utilise depuis plusieurs sites Web, je me demandais si le fichier cscript.exe que j'utilise n'est pas à jour.

Est-ce que je n'appelle pas cscript correctement?

Répondre

5

Les arguments nommés (Param:=Value) sont des fonctionnalités Visual Basic et VBA; cette syntaxe n'est pas prise en charge dans VBScript.

Dans VBScript, vous devez conserver l'ordre réel des arguments d'une routine. Si un argument spécifique est facultatif et que vous souhaitez utiliser sa valeur par défaut, vous devez simplement omettre cet argument. Donc, votre code devrait ressembler à ceci:

Const wdReplaceAll = 2 
wdoc.Application.Selection.Find.Execute , , , , , , , , , , wdReplaceAll 
+0

Génial, merci. Je veux dire ... ce n'est pas génial: ça craint vraiment et c'est une syntaxe horrible, mais je suppose que je dois faire ce que je dois faire. Merci de fournir la bonne réponse. – IcedDante

+0

@IcedDante: vous pouvez accepter la réponse d'Helen en cliquant sur la coche à côté de celle-ci. –