Hallo
Ik ben op zoek naar een macro waarmee ik de onderdeelfamilie uit een onderdeelbestand kan extraheren.
En dat deze macro wordt uitgevoerd voor een hele map (met een X-deelbestand)
Ik geef aan dat de stukken niet het familiedeel hebben om te creëren.
Wat mij interesseert, is om ÉÉN eigenschap op te halen die al mijn onderdelen gemeen hebben in een Excel-bestand.
Ideeën zijn welkom.
Bedankt
1 like
Hallo
Ik deel een macro die ik heb gemaakt en die de meeste functies heeft die je nodig hebt (zoeken in een map en submap van SW-onderdelen ; aangepaste eigenschappen lezen en wijzigen; een tekstbestand invullen)
Wees voorzichtig, het is een beetje een puinhoop omdat het niet wordt afgerond
macrorecusive.txt
Hallo slauzeral,
Maar je macro helpt me niet veel.
Bedankt voor je hulp!
1 like
remrem
30 augustus 2016 om 14:04
4
Hallo
Om er zeker van te zijn dat je het begrijpt. U wilt een macro die:
Herhaalt .sldprt- en .sldasm-bestanden uit een map Herstelt een eigenschap van elk van de bestanden Voegt de waarde van de eigenschap toe aan een Excel-tabel.
2 likes
Hoi herinnering,
Als je "loop files" zegt, wat bedoel je dan?
Anders ja, ik geef aan dat er alleen .sldprt-bestanden zijn
Voor de rest is dat het,
Herstelt een eigenschap van elk van de bestanden Voegt de waarde van de eigenschap toe aan een Excel-tabel
1 like
remrem
30 augustus 2016 om 15:34
6
Daarom
Zoekt naar .sldprt-bestanden in een mapHerstelt een eigenschap van elk van de bestanden Voegt de waarde van de eigenschap toe aan een Excel-tabel. Wat is de naam van de woning?
Moet ik teruggaan naar de werkmapinformatie over elk van de bestanden: naam, pad, enz.?
Moeten we ook in de submappen zoeken?
Heb je ooit andere macro's gemaakt?
Is het mogelijk om een map met consistente bestanden te testen?
Ik weet dat dat veel vragen zijn, maar het is essentieel voordat je iets codeert. ;-)
2 likes
Ja, dat is het precies:
'Zoekt naar .sldprt-bestanden in een map
Herstelt een eigenschap van elk van de bestanden
Voegt de waarde van het onroerend goed toe aan een Excel-spreadsheet."
Voor uw vragen:
Wat is de naam van de woning? $PROPRIETE@Aantal gaten .
Moet ik teruggaan naar de werkmapinformatie over elk van de bestanden: naam, pad, enz.? Nee, alleen het gebied van eigendom .
Moeten we ook in de submappen zoeken? Nee, de documenten zitten direct in een dossier.
Heb je ooit andere macro's gemaakt? Voor de macro's kwam ik "door te tasten" door stukken rechts en links op te rapen ...
Ik voeg een bestand toe met 5 stukjes om te testen.
lynkoa.zip
Hallo
Je zou met deze formule moeten kijken:
Sub parameter()
Dim retVal als Booleaanse Dim eigenschap als tekenreeks stuk = Vellen("Chemin_pièce"). Bereik ("A1") Opent bestandskoppelingen
Stel swApp = CreateObject("SldWorks.Application") in
Set Deel = swApp.OpenDoc6(stuk, 1, 0, "", longstatus, longwarnings)
Stel swModel = swApp.ActiveDoc in Stel swConfigMgr = swModel.ConfigurationManager in Stel swConfig = swConfigMgr.ActiveConfiguration in Z=swConfig.Name 'Haalt de naam van de configuratie op property = swModel.GetCustomInfoValue(Z, "Gewicht") Vellen("Blad1"). Bereik ("A1"). Waarde = ' eigenschap 'kopieert' de waarde van de eigenschap 'gewicht' naar de Excel-sheet
Einde Sub
Dat moet je proberen, dan moet je de lus maken waarmee je er omheen kunt.
Succes
1 like
Hoi PierrotDls,
Bedankt voor de macro,
Het is een heel goed begin !!
Het stelt me in staat om de eigenschap voor het gedefinieerde deel op te halen.
Nu moet ik vinden:
- Hoe de ".sldprt"-bestanden van een map te openen en niet van een specifiek bestand.
- Verhoog de "A1"-cel zodat de eigenschappen onder elkaar worden ingevuld.
Bedankt!
Cyril_f
31 augustus 2016 om 16:15
10
Goedenavond
Bijgevoegd is een stukje code om het bestand te scannen.
Voeg gewoon de functies toe om de woning op te halen die u zoekt en het zou moeten werken.
scan_dossier.txt
1 like
Hoi Cyril.f
Bedankt voor de macro,
Maar als ik de herstelregels van mijn eigendom toevoeg, heb ik een directe compilatiefout.
Dim fso As FileSystemObject
Een door de gebruiker gedefinieerd type dat niet is gedefinieerd.
Als je me kunt helpen... Bedankt
Cyril_f
1 september 2016 om 09:31
12
Hallo
U dient de volgende referenties te activeren in de vba editor (tools> Referenties):
Microsoft Scripting Runtime
Solidworks 20xx type bibliotheek
1 like
Ja inderdaad, dat is wat ik net zag.
Zo perfect (nou ja, de macro is waarschijnlijk niet de schoonste en eenvoudigste, maar het werkt)
Bedankt!