Hallo
Ich bin auf der Suche nach einem Makro, mit dem ich die Bauteilfamilie aus einer Bauteildatei extrahieren kann.
Und dass dieses Makro für einen ganzen Ordner (mit der Datei X-Teil) ausgeführt wird
Ich gebe an, dass die Teile nicht über das zu erstellende Familienbauteil verfügen.
Was mich interessiert, ist, EINE Eigenschaft abzurufen, die allen meinen Teilen in einer Excel-Datei gemeinsam ist.
Ideen sind willkommen.
Vielen Dank
1 „Gefällt mir“
Hallo
Ich teile ein Makro, das ich erstellt habe und das die meisten Funktionen enthält, die Sie benötigen (Suche in einem Ordner und Unterordner von SW-Teilen ; Lesen und Ändern von benutzerdefinierten Eigenschaften; Ausfüllen einer Textdatei)
Seien Sie vorsichtig, es ist ein bisschen chaotisch, weil es nicht abgeschlossen wird
macrorecusive.txt
Hallo slauzeral,
Aber Ihr Makro hilft mir nicht viel.
Danke für Ihre Hilfe!
1 „Gefällt mir“
remrem
30. August 2016 um 14:04
4
Hallo
Um sicher zu verstehen. Sie möchten ein Makro, das:
Schleifen von .sldprt- und .sldasm-Dateien aus einem Ordner Stellt eine Eigenschaft jeder der Dateien wieder her Fügt den Wert der Eigenschaft einer Excel-Tabelle hinzu.
2 „Gefällt mir“
Hallo remrem,
Wenn Sie "Loop-Dateien" sagen, was meinen Sie damit?
Andernfalls ja, ich gebe an, dass es nur .sldprt-Dateien gibt
Für den Rest war's,
Stellt eine Eigenschaft jeder der Dateien wieder her Fügt den Wert der Eigenschaft zu einer Excel-Tabelle hinzu
1 „Gefällt mir“
remrem
30. August 2016 um 15:34
6
Deshalb
Sucht nach .sldprt-Dateien in einem OrdnerStellt eine Eigenschaft jeder der Dateien wieder her Fügt den Wert der Eigenschaft einer Excel-Tabelle hinzu. Wie lautet der Name der Immobilie?
Muss ich zu den Arbeitsmappeninformationen zu jeder der Dateien zurückkehren: Name, Pfad usw.?
Sollten wir auch in den Unterordnern suchen?
Haben Sie jemals andere Makros erstellt?
Ist es möglich, einen Ordner mit konsistenten Dateien zum Testen zu haben?
Ich weiß, das sind viele Fragen, aber es ist wichtig, bevor man etwas programmiert. ;-)
2 „Gefällt mir“
Ja, genau das ist es:
"Sucht nach .sldprt-Dateien in einem Ordner
Stellt eine Eigenschaft jeder der Dateien wieder her
Fügt den Wert der Immobilie zu einer Excel-Tabelle hinzu."
Für Ihre Fragen:
Wie lautet der Name der Immobilie? $PROPRIETE@Anzahl der Löcher .
Muss ich zu den Arbeitsmappeninformationen zu jeder der Dateien zurückkehren: Name, Pfad usw.? Nein, nur im Bereich der Immobilie .
Sollten wir auch in den Unterordnern suchen? Nein, die Dokumente befinden sich direkt in einer Akte.
Haben Sie jemals andere Makros erstellt? Bei den Makros kam ich "durch Tasten" an, indem ich rechts und links Stücke aufhob...
Ich hänge eine Datei mit 5 Teilen zum Testen an.
lynkoa.zip
Hallo
Sie sollten mit dieser Formel suchen:
Sub parametre()
Dim retVal als boolescher Wert Dim-Eigenschaft als Zeichenfolge Stück = Blätter("Chemin_pièce"). Bereich("A1") Öffnet Dateiverknüpfungen
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.OpenDoc6(piece, 1, 0, "", longstatus, longwarnings)
Festlegen von swModel = swApp.ActiveDoc Festlegen von swConfigMgr = swModel.ConfigurationManager Legen Sie swConfig = swConfigMgr.ActiveConfiguration fest Z=swConfig.Name 'Ruft den Namen der Konfiguration ab Eigenschaft = swModel.GetCustomInfoValue(Z, "Gewicht") Blätter("Sheet1"). Bereich ("A1"). Value = ' Eigenschaft 'kopiert' den Wert der 'weight'-Eigenschaft in die Excel-Tabelle
Ende Sub
Du solltest es damit versuchen, dann musst du die Schleife erstellen, die es dir ermöglicht, es zu umgehen.
Viel Glück
1 „Gefällt mir“
Hallo PierrotDls,
Danke für das Makro,
Es ist ein sehr guter Start !!
Es ermöglicht mir, die Eigenschaft für das definierte Teil abzurufen.
Jetzt muss ich finden:
- Wie man die ".sldprt"-Dateien eines Ordners und nicht einer bestimmten Datei öffnet.
- Erhöhen Sie die Zelle "A1" so, dass die Eigenschaften untereinander ausgefüllt werden.
Vielen Dank!
Cyril.f
31. August 2016 um 16:15
10
Guten Abend
Im Anhang befindet sich ein Codeausschnitt zum Scannen der Datei.
Fügen Sie einfach die Funktionen hinzu, um die gesuchte Eigenschaft abzurufen, und es sollte funktionieren.
scan_dossier.txt
1 „Gefällt mir“
Hallo Cyril.f
Danke für das Makro,
Aber wenn ich die Wiederherstellungszeilen meiner Eigenschaft hinzufüge, habe ich einen direkten Kompilierungsfehler.
Dim fso As FileSystemObject
Ein benutzerdefinierter Typ, der nicht definiert ist.
Wenn du mir helfen kannst... Vielen Dank
Cyril.f
1. September 2016 um 09:31
12
Hallo
Folgende Referenzen müssen Sie im VBA-Editor aktivieren (Tools> Referenzen):
Microsoft Scripting Runtime
Solidworks 20xx Typenbibliothek
1 „Gefällt mir“
Ja, das ist es, was ich gerade gesehen habe.
Also perfekt (naja, das Makro ist wahrscheinlich nicht das sauberste und einfachste, aber es funktioniert)
Vielen Dank!