Ik ben op zoek naar de opdracht die ik in mijn SolidWorks-macro kan gebruiken om in de PDM-kluis (EPDM) te controleren of de bestandsnaam die ik automatisch genereer uniek is of niet.
Het lukt me om deze check uit te voeren met de onderstaande code:
Sub CheckFileNameUnique()
Stel PDMVault = ConnectToVault("MyVaultName") in
Als PDMVault.IsLoggedIn = Waar Dan Debug.Print "Al ingelogd" Anders Einde als
Zoeken instellen = PDMVault.CreateSearch() Stel SearchResult = Search.GetFirstResult in
Hoewel niet SearchResult.Name = "033244.SLDPRT" Fouten opsporen.Afdrukken SearchResult.Name Stel SearchResult = Search.GetNextResult() in Gaan
Debug.Print "Gevonden!! "
Einde Sub
Maar de verwerkingstijd is te lang. Ik wil graag dezelfde reactietijd hebben als wanneer je begint met archiveren en de bestandsnaam niet uniek is; In dit geval is de controle onmiddellijk! Het zou dus mogelijk moeten zijn om dit via de macro te doen...
Als u mij een oplossing kunt voorstellen, dank ik u bij voorbaat.
In vba, tenzij ik me vergis, is het onmogelijk om deze controle uit te voeren. Voor zover ik weet, is het meer het gedrag van een invoegtoepassing die zou worden gecodeerd in C# of VB.Net die toegang heeft tot de interne functies van PdmWorks.
Ten slotte, zo niet op de manier om dingen te doen (wat lang geleden is dat de scan van de hele database is gestart en vervolgens geanalyseerd), denk ik dat het beter is om een zoekopdracht te starten naar de betreffende referentie als criterium. De verwerkingstijd zal waarschijnlijk beter zijn.
Map instellen = kluis. GetFolderFromPath("... ") 'vul de kluiswortel Search.StartFolderID = folder.ID Search.FindFolders = Onwaar Zoeken.Bestandsnaam="033244.SLDPRT" Pas dan de behandeling toe of deze wordt gevonden of niet.
Bij ons doet de SAFE een automatische controle. Het is niet mogelijk om twee bestanden met dezelfde naam te archiveren. U moet de kofferbakinstellingen controleren.
@ KVuilleumier, ik stelde mezelf dezelfde vraag, maar ik denk dat het zo moet zijn dat ik mijn naam niet hoef te veranderen nadat ik heb geprobeerd het te archiveren. Maar zo niet, ja, verbied dan gewoon duplicaten.
In feite werk ik aan een macro die we op een assemblage gaan uitvoeren voordat we in productie gaan.
Het doel is om voor elk onderdeel en submerk dat in de verwerkte assemblage wordt gebruikt, automatisch de artikelnummers en andere informatie uit het ERP op te halen en deze te gebruiken om de naam van het nieuwe bestand te genereren dat is aangemaakt via een "opslaan als".
Daarom wil ik op dit moment controleren of de automatisch gegenereerde naam uniek is of niet. Als u wacht tot de gebruiker in de assemblage incheckt, merkt u dat sommige namen niet uniek zijn. Het zal deze bestanden moeten vermelden, een nieuwe "opslaan als" moeten maken, maar handmatig en de macro opnieuw moeten starten.