Validierung von SmartProperties

Ich habe das alte Thema zu schnell abgeschlossen...

Mein Makro startet die SmartProperties für jeden der Ordner "Geschweißte Elemente".

Ich habe das Makro von axemble "SmartProperties 2013-Auto.swp" verwendet, das es automatisch validiert.

Wie "warte" ich im Makro, bis der Benutzer jeden Smart selbst validiert hat, bevor ich zum nächsten übergehe?

Diese Zeile startet die SmartProperties, aber das Makro verfügt nicht über die Validierung, um fortzufahren...

1 „Gefällt mir“

Wenn das Makro nicht zu lang ist, können Sie es hier einfügen?

Und geben Sie an, wann Sie die Pause wünschen?

Hier ist der Makroteil, um den es geht:

 

    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...)

1 „Gefällt mir“

Und was erwartet Sie?

Es gibt DoEvents, mit dem Sie auf eine Aktion des Benutzers warten können:

http://social.msdn.microsoft.com/Forums/en-US/0398e15d-717b-49eb-b093-62cd0acdf00b/wait-for-event-in-visual-basic-2010

 

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):

 

http://www.lynkoa.com/forum/3d/aucun-acces-solidworks-lors-de-l-execution-de-ma-macro-avec-un-bouton?page=1

 

   Für Y = 1 TB 50000
            Veranstaltungen durchführen
        Weiter Y

 

Oder 50000 steht für 5 Sekunden.

Hallo

 

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

 

 

6 „Gefällt mir“

@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.

1 „Gefällt mir“

Erfolgreich mit den DoEvents und dem Makro am Ende von Smart!

 

    ValidCounter = Falsch
SMARTPROPERTIES
    Obwohl CounterValid<> Wahr
       Veranstaltungen durchführen
    Wend

 

 


Makro, das am Ende von smart ausgeführt werden soll.
___________________________
    Öffentliches Sub execute()
       ValidCounter = Wahr
    Ende Sub

 

Danke Jungs

1 „Gefällt mir“