Set swapp = Application.SldWorks Legen Sie swModel = swapp fest. ActiveDoc (Englisch)
Bei Fehler: Weiter fortsetzen Symbolleisten-ID = 59427 (möglicherweise in englischer Sprache) Wenn swModel nichts ist, dann MsgBox ("Kein aktives Dokument") Ende Oder Dim stPathMacro als Zeichenfolge stPathMacro = tauschen. GetCurrentMacroPathName strRegFileName = Ersetzen(stPathMacro, ".swp", ".dll") strDllDateiname = strRegDateiname
lStatus = tauschen. LoadAddIn(strDllDateiname) Legen Sie swDCAddIn = swapp fest. GetAddInObject("{5E333A56-A5B6-4a90-B365-BEF36FE5D81C}") swDCAddIn.ToolbarCallback0 HIER Zähler = Zähler + 1
Ende, wenn
Vor dem ICI startet der Smart, aber das Makro geht weiter (Zähler, dann mehr...)
Oder für eine bestimmte Zeit können Sie eine Schleife auf einem DoEvents abspielen, um Ihren Code aktiv zu "halten", wie in der Lösung, die ich hier vorgeschlagen habe (Seite 2):
Ich denke, dass es am besten wäre, ein Makro zu starten, das SmartProperties im ersten Artikel startet, und dann würde ein neues Makro über die SmartProperties gestartet, das SmartProperties im nächsten Artikel neu startet
Das zweite Makro wird mit dem Typ "Ausgeführt" und mit der Einstellung "Nach dem Schließen von SmartProperties" gestartet.
Um herauszufinden, auf welchen Mechanikerordner SmartProperties angewendet wurde, geben Sie entweder die Informationen in eine Dokumenteigenschaft ein oder rufen Sie das ausgewählte Element in SolidWorks auf
@Lucas: Ich möchte warten, bis der Benutzer die SmartProperties von Artikel1 "validiert" hat, bevor ich mit dem nächsten fortfahre.
DoEvents könnte eine Lösung sein, aber ich sehe nicht wirklich, wie ich es verwenden soll...
@Prossignol: Die Idee ist nicht schlecht, aber schwer umzusetzen. Denn das Makro "Nächster Artikel" funktioniert in diesem Fall nicht mehr. Alles müsste von Grund auf neu begonnen werden. Aber ich werde die Idee behalten, wenn überhaupt.