Grundlagen Visual Basic Scripts
Hinweis: Neue Scripts sollten immer als Python Scripts, nicht als VBScripts verfasst werden. VBScripts stehen nur aus Abwärtskompatibilitätsgründen noch zur Verfügung und sind aus Sicherheitsgründen in den Cloud Clients nicht empfohlen bzw. ganz deaktiviert. Siehe dazu auch Punkt 7 unseres 10-Punkte-Plans für eine zukunftsfähige Vertec-Installation.
Vertec unterstützt die Microsoft Scripting Engine (VBScript), um benutzerdefinierte Scripts ausführen zu können.
Aus einem Vertec Script ist wiederum das ganze Vertec Objektmodell zugänglich. Dies geschieht wie der Zugriff aus Word über eine (interne) COM / ActiveX Schnittstelle.
Ein Script kann entweder als Scripteintrag oder in einem Text-Editor (z.B. Notepad) erstellt werden. Mehr Informationen über VBScript finden Sie unter: Programming with VBScript oder unter: VBScript Language Reference auf der Microsoft Homepage.
Scripts, die immer wieder verwendet werden, können in Vertec registriert werden. Sie sind dann über den Menüpunkt Aktionen oder im Kontextmenü (über die rechte Maustaste) abrufbar. Siehe dazu den Artikel über das Registrieren von Scripts.
Der Zugriff auf das Vertec Objektsystem aus einem Script erfolgt immer über die globale Variable vertec. Diese Variable ist vom Objekttyp IVtcSession und kennt die folgenden wichtigsten Methoden (es sind nur die wichtigsten aufgeführt, die vollständige Liste findet sich im Artikel COM Interfaces):
| Eigenschaft | Beschreibung |
|---|---|
| eval(expression as string) | Evaluiert die angegebene OCL Expression und gibt eine Liste von Objekten zurück. |
| argobject | gibt das momentan aktuelle Objekt in Vertec zurück. |
| createobject(Klassentyp) | erzeugt ein neues Objekt in Vertec vom angegebenen Klassentyp. |
In den meisten Skripts wird man eine Liste von Objekten (z.B. alle aktiven Projekte) bearbeiten. Das Listen-Objekt ist vom Objekttyp IVtcObjektList und kennt folgende wichtige Methoden und Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| count | gibt die totale Anzahl von Objekten in der Liste zurück. |
| objects(i) | gibt das i-te Objekt zurück. Achtung: die Liste beginnt bei 0 und geht bis count-1. |
Einzelne Objekte werden im Objekttyp IVtcObjekt abgelegt. Auf ein einzelnes Objekt kommen Sie entweder über vertec.argobject, indem Sie bei einer Liste von Objekten eines herauspicken (über objects(i)) oder als Resultat von eval("OCL Expression").Das Einzel-Objekt kennt folgende wichtige Methoden und Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| eval(expression as string) | Evaluiert die angegebene OCL Expression, ausgehend vom einzelnen Objekt. |
| member(name as string) |
Gibt den Inhalt des Members mit dem angegebenen Namen zurück. So ergibt beispielsweise <myprojekt>.member("code")</myprojekt> den Projektcode zurück. Members können auch geschrieben werden:member("membernamen") = "Ihr Text". |
| classname | gibt den Klassennamen des Objektes zurück, z.B. Projekt oder Projektbearbeiter. |
Ansonsten stehen Ihnen alle Funktionen des VBScript zur Verfügung.