Open het macrodialoogvenster "Opslaan als"

Hallo

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

 

Wie weet de oplossing?

Bedankt.

 

Hallo

Het is niet zo eenvoudig als het kopiëren en plakken van code van SolidWorks naar Excel!

Is er een SolidWorks-referentie aangevinkt in het optiemenu Visual Basic in Excel?

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.

Hallo, mag ik vragen wat het uiteindelijke doel van de operatie is?

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.

Thomas

1 like

Ik wil niet door DriveWorks gaan omdat de macro al bestaat en regelmatig wordt gebruikt.

Ik zou het dan ook graag willen ontwikkelen met behoud van de operaties die het al uitvoert.

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...

Hallo

Ik denk dat deze code doet wat je wilt

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

 

1 like

Francis Onsenofu,

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

maar ik kan het mis hebben
;)

Als ik mijn bestanden overzet naar alleen-lezen, wordt het dialoogvenster geopend en kan ik alle gegevens bewerken die ik nodig heb.

Dank je wel Francis Onsenfou !

1 like