Hallo,
ich habe ein Makro geschrieben, dass mit Solidworks gestartet wird, damit ich u.a. beim Einfügen neuer Komponenten in Baugruppen bestimmte Eigenschaften dieser Komponenten prüfen kann.
Zum einen starte ich das Makro also per /m parameter über die Solidworks-verknüpfung.
Zum anderen benutze ich Events um beim ändern einer Konfiguration ein Sub zu starten.
Das Makro ist fertig und sollte wunderbar funktionieren... tuts aber nicht..
Wenn ich Solidworks über die Verknüpfung starte wird der falsche Sub ausgeführt wo zu diesem Zeitpunkt leere Objekte sind.
Kann ich irgendwo genau bestimmen welche Sub gestartet werden soll?
Meine Verknüpfung sieht so aus: "C:\...\SLDWORKS.exe" /m "G:\...\SolidWorks_Makros\CheckNewComps\CheckNewComps.swp"
Ausgeführt sollte dieser Sub:
Code:
Option ExplicitPublic MyClass As New clsEvent
Sub Main()
MyClass.MonitorSolidWorks
End Sub
Doch dieser wird ausgeführt (in einem anderen Modul)
Code:
Sub ConfigAuswahl()
Dim swCompModel As SldWorks.ModelDoc2
Dim swCustPrpMgr As SldWorks.CustomPropertyManager
Dim vConfigNames As Variant
Dim ValOut As String, ResValOut As String, sConfName As String
Dim bRet As Boolean
Dim x As Long, y As Long, lConfCount As Long Set swCompModel = swComp.GetModelDoc2
vConfigNames = swCompModel.GetConfigurationNames
lConfCount = UBound(vConfigNames)
ReDim sArrValidConfigs(lConfCount) As String
For x = 0 To lConfCount
sConfName = vConfigNames(x)
Set swCustPrpMgr = swCompModel.Extension.CustomPropertyManager(sConfName)
bRet = swCustPrpMgr.Get4("Kennung1", False, ValOut, ResValOut)
If ResValOut = "N" Then
sArrValidConfigs(y) = sConfName
y = y + 1
End If
Next x
fConfigAuswahl.Show
End Sub
Das Makro hat übrigens in einer früheren Version funktioniert. Danach sind weitere Subs (u.a. die ConfigAuswahl()) und eine Userform dazugekommen. Kann mir aber nicht erklären wieso es jetzt nicht mehr funktioniert.
In dem Modul wo die ConfigAuswahl() ist, sind 2 weitere Subs und eine Funktion. Wenn ich die ConfigAuswahl() auskommentiere funktioniert das Makro, obwohl einmal die Userform_Initialize() gestartet wurde...
Hoffe ihr könnt mir helfen.
Gruß
red
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP