Hoi allemaal
Ik werk momenteel aan een project om een aantal mappen te automatiseren en ik wil graag een aantal functies integreren in mijn bestaande macro, waarmee een stuklijst wordt ingevoegd en geëxporteerd in een assembly in TXT-indeling.
Ik dank degenen die de tijd zullen nemen om me te lezen en me een paar momenten te geven om mezelf te deblokkeren. :)
Het export- en opslaggedeelte van de BOM gaat goed, maar ik heb een probleem wanneer ik probeer de waarden van de eigenschappen van een van de componenten (de enige die deze eigenschappen heeft) op te halen: CLIENT, LOCAL, CPLT LOCAL, DEAL, DRAFTSMAN, QTE ASS) voordat ik ze kopieer onder dezelfde naam = waarde in de assembly.
Ik had iets gesleuteld door de geëxporteerde Excel-tabel te "manipuleren" op basis van:
AFFAIRE = Range("BG2:BG1000").Find("*", , , , xlByColumns).Value 'Cherche la première valeur non vide
On Error Resume Next
Maar dit werkt alleen als de woning wel bestaat. Kortom, ik zou graag een preciezere en veiligere oplossing vinden.
Ik heb veel stukjes code en/of oplossingen gezocht en geprobeerd die ik op de site of elders heb gevonden, maar ik weet echt niet genoeg over API's en VBA-code om het aan mijn behoeften aan te passen.
Ik heb echter een aantal interessante functies geïdentificeerd, waarvan hier een voorbeeld hieronder is om eenvoudig de CODE-eigenschappen in een MsgBox te lezen. (dat zou al een goede stap zijn:) maar werkt helaas niet)
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSelComp As Variant
Dim swSelModel As SldWorks.ModelDoc2
Dim swCustPropMgr As CustomPropertyManager
Dim swEnt As SldWorks.Entity
Dim val As String
Dim valout As String
Set swSelComp = swBOMAnnotation.GetComponents2(2, Configuration)
Set swCustPropMgr = swSelComp.Extension.CustomPropertyManager("")
swCustPropMgr.Get4 "CODE", False, val, valout 'Change property name here
MsgBox "Value: " & val & "Evaluated value: " & valout
Het uiteindelijke idee zou daarom zijn om de componentvariabele op te halen, deze in de assemblage te kopiëren en vervolgens in elk van de onderdelen met de eigenschappen CODIFICATION ="X"
Heb je advies en voor de hand liggende correcties om met me te delen om me te deblokkeren? Ik dank u hartelijk bij voorbaat. Aarzel niet om mij om meer details te vragen.
Ik voeg mijn twee stukjes code toe, waarvan er één echt ruw is en wordt gebruikt voor mijn onderzoek / test ... De tweede is de eenvoudigste die werkt wanneer de eigenschappen worden ingevoerd.
PS: Ik moet erop wijzen dat ik de myCADtools niet beschikbaar heb.
Dank u allen.
Michael
test_export_txt_nomenclature.swp