Hallo cmb
hab mal folgenden Code aus meinem Projekt kopiert.
Dim SServ
Dim sPath As String
Dim sType As String
Dim sModul As String
Dim sSub As String
Dim sScriptName As String
Dim Params()
Dim i As Integer
i = FrMain.LBox.ListIndex
sType = MyArr(3, i)
Set SServ = CATIA.SystemService
FrMain.Hide
Select Case sType
Case "VBAProject"
sPath = MyArr(1, i) & "\" & MyArr(2, i) 'C:\Temp\Test.catvba
sModul = MyArr(4, i) 'Modul1
sSub = MyArr(5, i) 'CatMain
Call SServ.ExecuteScript(sPath, catScriptLibraryTypeVBAProject, sModul, sSub, Params)
Case "VBScript"
sPath = MyArr(1, i) 'C:\Temp
sScriptName = MyArr(2, i) 'Test.CatScript
sSub = MyArr(5, i) 'CatMain
Call SServ.ExecuteScript(sPath, catScriptLibraryTypeDirectory, sScriptName, sSub, Params)
Case Else
End Select
End
Der Unterschied liegt zum einem an "catScriptLibraryTypeVBAProject" und "catScriptLibraryTypeDirectory" und zum anderen an der Angabe des "modul" aus welchen die sub gestartet wird. Außerdem wird beim "CatScript" der Ordner als Pfad und bei der Catvba der pfad mit Datei angegeben. Da ich hier verschieden Scripte starte habe ich das hier mit einem Array gemacht, habe aber mal die Werte dahinter geschrieben. Parameter können optional übergeben werden ansonsten einfach nur "Dim Params()".
mfg
Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP