Macro .vbscript

Cette macro est utilisée pour incorporer du code VBScript dans un template dans le cadre d'une commande de génération. Le résultat du script est disponible sous la forme du tableau ScriptResult.

.vbscript [(liste-param-script)]
	bloc-entrée
.endvbscript [(fin)]

Les paramètres suivants sont disponibles :

Paramètre

Description

liste-param-script

Spécifie les paramètres à passer au script via le table ScriptInputArray .

Type : Liste d'arguments de template-simple séparés par des virgules

bloc-entrée

Spécifie le code VBscript à exécuter.

Type : Texte

fin

Ajouté au résultat, s'il y en a un

Type : Texte

Exemples
Ce simple script accepte les deux mots hello et world comme paramètres d'entrée, et les renvoie comme une seule et unique chaîne séparée par un espace :
.vbscript(hello, world)
ScriptResult = ScriptInputArray(0) + " " + ScriptInputArray(1)
.endvbscript
Résultat :
hello world
Ce script accepte un code d'attribut, le compare à tous les codes d'attribut du modèle courant et lui ajoute un 1 s'il en trouve un identique :
.set_value(_code,%@1%,new)
.vbscript(%_code%)
   Dim attrCode
   attrCode = ScriptInputArray(0)
      
   While (attrFound(attrCode))
      attrCode = attrCode + "1"
   Wend
   
   Function attrFound(attrCode)
      Dim found, attr
      found = False
      For Each attr in ActiveSelection.Item(0).Attributes      
         If attr.Code = attrCode Then
            found = True
            Exit For
         End If
      Next
      
      For Each attr in ActiveSelection.Item(0).InheritedAttributes      
         If attr.Code = attrCode Then
            found = True
            Exit For
         End If
      Next
      attrFound = found
   End Function
   
   ScriptResult = attrCode
.endvbscript
Remarque : L'objet actif de la portée de traduction courante est accédé comme ActiveSelection.Item(0) (voir Manipulation des modèles, des collections et des objets (Scripting)).

Pour plus d'informations sur les commandes de génération, voir Catégorie Generation.