De door .PL voorgestelde macro werkt, maar met een "limiet" die ik graag zou willen verbeteren.
1) Deze macro bevat alleen gehele getallen, wat ingewikkeld is om bijvoorbeeld 1:2 schalen te maken. Ik zou graag een schaal van 0,5 willen kunnen invoeren en dat daar bij de macro rekening mee wordt gehouden.
2) De macro zoekt naar de waarde van de schaal in de bestandseigenschappen van het onderdeel in het tabblad "Aanpassen" met het type "Getal". Ik kan dus geen relatie maken tussen mijn $PROPRIETE@SCALE-eigenschap die wordt gegenereerd in "Configuration Specifiek" en niet in "Customize". Is het mogelijk om de bron van de macroschaal naar een "Tekst"-type te verwijzen? Op die manier kan ik een relatie maken tussen de twee tabbladen.
Ik gebruik een klein stukje code voor het opschalen. Ik denk dat het voor jouw geval moet kunnen worden aangepast (ik doe alles in de auto, maar met een vragenbox op de weegschaal zou je dat moeten kunnen wijzigen)
Het verkrijgen van de huidige schaal in breukvorm (a:b) Dim swView als SldWorks.Bekijk Stel swView = swdoc in. GetFirstView (Engelstalig) Dim ech As Variant ech = swView.ScaleRatio
'We gaan op een schaal van 1:1 ech1 = swSheet.SetScale(1, 1; Waar, Waar)
'We keren terug naar de beginschaal, ech(0) voor teller en ech(1) voor noemer ech1 = swSheet.SetScale(ech(0), ech(1); Waar, Waar)
Kopiëren en plakken werkt niet? Uiteindelijk vindt u het in het bijgevoegde tekstbestand:)
Edit: zolang de wijziging voor uw macro, heb ik absoluut niet de bouw van het gevolgd. Dus ik weet niet echt waar je vandaan ging om waar heen te gaan. Het was slechts een stukje code om te zien hoe je de breuken in schaal kunt maken en deze in je VBA kunt interclaleren
Maar ik weet zeker dat @.PL je door de gevaarlijke meanders van zijn macro kunnen leiden