Bestimmt haben sich einige schon gefragt, wie man die CATMain Prozedure aus verschieden CATVBA aufrufen kann.
Beispiel:
Ihr habt zwei CATVBA-Dateien
1. meineErsteCatVBADatei.CATVBA
2. meineZeiteCatVBADatei.CATVBA
Jetzt wollt Ihr einen Aufruf von der ersten meineErsteCatVBADatei.CATVBA zur zweiten meineZeiteCatVBADatei.CATVBA machen.
Und das geht so.
Public Function startArbeitsinhalteUpdate() Dim sFilePath As String Dim sFileName As String Dim sModule As String Dim sProcedure As String Dim sFilePathAndName As String Dim CatSysServ As Variant Dim Params(5) As Variant Dim vRetVal As Variant 'Everything here is Case-Sensitive sFilePath = "C:\Temp\CATVBA-VERZEICHNIS\" sFileName = "meineZeiteCatVBADatei.CATVBA" 'Euer Modulname in dem sich die Prozedure CATMain befindet sModule = "Module1" sProcedure = "CatMain" 'CatMain ist übrigens die einzige Prozedur die Ihr aufrufen könnt. 'Zusammen führen des Pfades und des Dateinamens sFilePathAndName = sFilePath & "" & sFileName 'Wichtig: Deklariert zuvor ein Objekt und dann weist Ihr mit SET den Service zu. Ansonsten hat es zumindest bei mir Probleme gegeben. Set CatSysServ = CATIA.SystemService 'Ausführen vRetVal = CatSysServ.ExecuteScript(sFilePathAndName, catScriptLibraryTypeVBAProject, sModule, "CATMain", Params) 'Rückgabewert wird dem Funktionsaufruf übergeben. startArbeitsinhalteUpdate = vRetVal End Function