Hallo Norman,
naja da hast du mehrere Möglichkeiten. Die mächtigste und komplexeste ist definitiv dies mit regulären Ausdrücken zu machen. Dazu müsstest du die "Scripting Runtime DLL" einbinden (nur ein CATvba möglich). Hierbei hättest du die Möglichkeit auch auf einen variablen Dateinamen zu reagieren und den String exakt zu splitten. Die Scripting Runtime ist aber nicht die beste DLL-Datei. Sie bringt Rechner zum Absturz und ist nicht mal auf allen Rechnern installiert
Du da aber einen fixen Dateinamen (also einen fixen String) hast lohnt sich der Aufwand nicht wirklich. Weitere Möglichkeiten sind das Stringsplitting mit "Split", "Mid", "Trim" etc. Dies sind alles VB Befehle (im System Namespace) die du aber auch in einem CATscript verwenden kannst.
Der Ablauf würde dann folgendermaßen aussehen.
1. Datei muss geöffnet sein
2. Makro ließt mit CATIA.ActiveDocument.Name den Dateinamen aus
3. Dieser Dateiname mit mit einem "Split"-Befehl an dem Separator "_" gesplittet
4. Das Ergebnis ist ein Array mit der Lenght 4
Das Array sieht nun folgendermaßen aus:
Item(0) = Der String aus den ersten 5 Stellen
Item(1) = Der String der Stellen 7 und 8
Item(2) = Der String der Stellen 10,11,12
Item(3) = Der Rest
Diese Itmes kannst du nun an deine Parameter übergeben.
Anmerkung:
M;Mit dem Befehl "MID" könntest du einen String nach gewissen Positionen zerlegen (z.B. wenn der Separator unterschiedlich sein kann). Der Befehl "Mid" baut sich folgendermaßen auf
Code:
Dim myString as String
Dim mySplit as StringmyString= "00000_00_"
mySplit = MID(myString, 0, 5) 'Ergebnis sind die ersten 5 Stellen des Strings "myString"
Du siehst es gibt eine Menge Möglichkeiten einen String zu zerlegen. Hierzu findest du auch genügend Hilfe im Internet
------------------
MFG Daniel
Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP