Über das SolidWorks Makro, Schnellsuche im PDM Tresor (Enterprise)

Hallo ihr alle

Ich suche nach dem Befehl, den ich in meinem SolidWorks Makro verwenden soll, um im PDM-Tresor (EPDM) zu überprüfen , ob der Dateiname, den ich automatisch generiere, eindeutig ist oder nicht.

Ich schaffe es, diese Überprüfung mit dem folgenden Code durchzuführen:

Sub CheckFileNameUnique()

    Set PDMVault = ConnectToVault("MyVaultName")

    Wenn PDMVault.IsLoggedIn = True, dann
        Debug.Print "Bereits angemeldet"
    Oder
    Ende, wenn

    Set Search = PDMVault.CreateSearch()
    Set SearchResult = Search.GetFirstResult


    Obwohl nicht SearchResult.Name = "033244.SLDPRT"
        Debug.Print SearchResult.Name
        Set SearchResult = Search.GetNextResult()
    Wend
    
    Debug.Print "Gefunden!! "
    
Ende Sub

Doch die Bearbeitungszeit ist zu lang. Ich hätte gerne die gleiche Reaktionszeit wie beim Start der Archivierung und der Dateiname ist nicht eindeutig. In diesem Fall erfolgt die Steuerung sofort! Es sollte daher möglich sein, dies über die Makro...

Wenn Sie mir eine Lösung vorschlagen möchten, danke ich Ihnen im Voraus.

Hallo

In VBA ist es unmöglich, diese Kontrolle durchzuführen, es sei denn, ich irre mich. Soweit ich weiß, ist es eher das Verhalten eines Add-Ins, das in C# oder VB.Net codiert wäre, das auf die internen Funktionen von PdmWorks zugreifen kann.

Schließlich, wenn nicht in der Art und Weise, Dinge zu tun (was schon lange her ist, dass der Scan der gesamten Datenbank gestartet und dann analysiert wird), denke ich, dass es besser ist, eine Suche nach der betreffenden Referenz als Kriterium zu starten. Die Bearbeitungszeit wird wahrscheinlich besser sein.

  Legen Sie Ordner = Tresor fest. GetFolderFromPath("... ")   'Füllen Sie den Tresorstamm     Search.StartFolderID = folder.ID
  Search.FindFolders = Falsch
        Search.Filename="033244.SLDPRT"
Wenden Sie dann die Behandlung an, wenn sie gefunden wird oder nicht.

1 „Gefällt mir“

Gründe für die Verwendung eines VBA-Makros

Bei uns führt der SAFE eine automatische Prüfung durch. Es ist nicht möglich, zwei Dateien mit demselben Namen zu archivieren. Sie müssen die Trunk-Einstellungen überprüfen.

 

Bearbeiten: Wir haben einen Beitrag wie diesen:

2 „Gefällt mir“

@ KVuilleumier , ich habe mir die gleiche Frage gestellt, aber ich denke, es muss so sein, dass ich meinen Namen nicht ändern muss, nachdem ich versucht habe, ihn zu archivieren. Aber wenn nicht, ja, verbieten Sie einfach Duplikate.

Vielen Dank für Ihre Antworten und Anmerkungen.

Tatsächlich arbeite ich an einem Makro, das wir für eine Assembly ausführen werden, bevor wir es in der Produktion starten.

Ziel ist es, für jedes Teil und jede Unterbaugruppe, die in der bearbeiteten Baugruppe verwendet werden , automatisch die Artikelnummern und andere Informationen aus dem ERP abzurufen und daraus den Namen der neu erstellten Datei über ein "Speichern unter" zu generieren.

Aus diesem Grund möchte ich an dieser Stelle überprüfen, ob der automatisch generierte Name eindeutig ist oder nicht. Wenn Sie darauf warten, dass der Benutzer die Assembly eincheckt, um festzustellen, dass einige Namen nicht eindeutig sind. Es muss diese Dateien auflisten, ein neues "Speichern unter" erstellen, aber manuell, und das Makro neu starten.

Ich werde Cyrils Vorschlag ausprobieren.

Cyril.f,

Es tut mir leid, aber ich sehe nicht, wie ich sehen kann, ob der Dateiname gefunden wurde oder nicht.

Sollten wir nach Search.Filename = "033244.SLDPRT" etwas hinzufügen?

Set SearchResult = Search.GetFirstResult

Wenn  SearchResult nichts ist, dann .....

1 „Gefällt mir“

Es funktioniert wunderbar mit einer fast sofortigen Reaktionszeit!

Vielen Dank.