Ik heb een macro in Excel die onderdelen in Solidworks opent vanuit de links van de onderdelen in mijn Excel-bestand. Deze macro verandert ook de afmetingen in schetsen.
Ik wil het dialoogvenster "Opslaan als" weergeven, zodat de gebruiker een naam en locatie kan kiezen voor de bestanden die zijn bewerkt.
Ik heb de volgende code die werkt in Solidworks, maar het werkt niet als ik het in Excel plak:
Sub hoofd()
Stel swApp in = _ Toepassing.SldWorks Stel swModel = swApp.ActiveDoc in swModel.Extension.RunCommand swCommands_SaveAs, leeg Einde Sub
Er zijn veel referenties beschikbaar die "Solidworks" bevatten.
Alleen "SldWorks 2012 Type Library" is aangevinkt.
Ik denk niet dat het daar vandaan komt, aangezien mijn macro zonder problemen veel acties op Solidworks vanuit Excel uitvoert.
Wat betreft kopiëren en plakken, ik heb niet gevonden wat ik moet veranderen om van de ene software naar de andere over te schakelen en daarom heb ik deze methode geprobeerd.
In mijn Excel-bestand heb ik een tabel met de verschillende waarden voor de afmetingen van de schetsen volgens de configuraties.
De macro wijzigt de onderdelen op basis van het Excel-bestand. Dus ik wil het nieuwe deel opslaan onder een nieuwe naam en op een door de gebruiker gekozen locatie.
PS: Ik gebruik hier geen deelfamilie omdat er na het testen veel bugs verschijnen vanwege het te hoge aantal configuraties (ongeveer 2000).
Ok, ik raad je aan om dan eens te kijken naar een technologie genaamd DriveWorks.
DriveWorks is specialist op het gebied van SOLIDWORKS design automation.
We bieden drie versies aan, DriveWorksXpress, DriveWorks Solo en DriveWorks Pro.
DriveWorksXpress is al geïnstalleerd in uw versie van SOLIDWORKS en is volledig gratis.
Solo en Pro bieden natuurlijk nog veel meer automatiseringsfuncties.
http://www.driveworks.co.uk/products/driveworksxpress/ geeft je een overzicht van Xpress (neem een kijkje op de verschillende tabbladen (Feature, Benefit, Compare).
http://www.driveworks.co.uk/products/driveworksxpress/sample-projects/ voorbeelden die je zelf kunt proberen.
En een kleine video: https://www.youtube.com/watch?v=WCSO0mKsoxA
Tot slot raad ik u aan om contact op te nemen met uw SolidWorks-wederverkoper die de technologie in meer detail aan u kan presenteren!
Ik kan ook uw vragen beantwoorden als u dat wenst.
De code die in de vraag wordt gegeven, werkt uiteindelijk in Excel, maar voert niet de juiste functie uit. Inderdaad, het opent het "Open" -venster van Solidworks in plaats van het "Opslaan als"-venster...
Openbare Sub enregistrer_fichier() 'We krijgen Solidworks terug Stel swApp = GetObject(, "SldWorks.Application") in ' We halen het actieve document op in solidworks Stel swModel = swApp.ActiveDoc in ' We openen het registratievenster swModel.Opslaan ' We sluiten het dossier swApp.CloseDoc swModel.GetTitle Einde Sub
Dank u voor uw antwoord. De code werkt, maar komt niet overeen met wat ik wilde krijgen.
Inderdaad, het slaat het gewijzigde bestand op terwijl ik een kopie in een andere map en onder een andere naam zou willen opslaan om het basisbestand zonder wijzigingen te behouden.
Ik heb geprobeerd het swModel.Save te vervangen door swModel.SaveAs, maar het werkt niet meer.
Ik open het dialoogvenster U kunt dus de basisnaam wijzigen
Om uw basisbestand te beschermen, kunt u proberen het alleen-lezen te maken Klik met de rechtermuisknop op het bestand eigenschap Vink het vakje voor alleen-lezen aan
Voor de saveas moet u het opnamepad en de naam van het bestand als argument opgeven Ik denk niet dat je al weet waar het geregistreerd moet worden en onder welke naam
Bovendien zullen de saveas het registratiedialoogvenster niet openen van wat ik begrijp