Ich habe ein Makro in Excel, das Teile in Solidworks über die Verknüpfungen der Teile in meiner Excel-Datei öffnet. Mit diesem Makro werden auch Bemaßungen in Skizzen geändert.
Ich möchte das Dialogfeld "Speichern unter" anzeigen, damit der Benutzer einen Namen und einen Speicherort für die Dateien auswählen kann, die bearbeitet wurden.
Ich habe den folgenden Code, der in Solidworks funktioniert, aber nicht funktioniert, wenn ich ihn in Excel einfüge:
Sub main()
swApp = _ setzen Anwendung.SldWorks Festlegen von swModel = swApp.ActiveDoc swModel.Extension.RunCommand swCommands_SaveAs, leer Ende Sub
Es gibt viele Referenzen, die "Solidworks" enthalten.
Nur "SldWorks 2012 Type Library" ist aktiviert.
Ich glaube nicht, dass es von dort kommt, da mein Makro viele Aktionen auf Solidworks aus Excel ohne Probleme ausführt.
Was das Kopieren und Einfügen betrifft, so habe ich nicht gefunden, was ich ändern sollte, um von einer Software zur anderen zu wechseln, und deshalb habe ich diese Methode ausprobiert.
In meiner Excel-Datei habe ich eine Tabelle mit den unterschiedlichen Werten für die Abmessungen der Skizzen entsprechend den Konfigurationen.
Das Makro ändert die Teile basierend auf der Excel-Datei. Daher möchte ich das neue Bauteil unter einem neuen Namen und an einem vom Benutzer gewählten Speicherort speichern.
PS: Ich verwende hier keine Teilefamilie, da nach dem Testen viele Fehler aufgrund der zu hohen Anzahl von Konfigurationen (ca. 2000) auftreten.
Ok, ich rate Ihnen, dann einen Blick auf eine Technologie namens DriveWorks zu werfen.
DriveWorks ist ein Spezialist für die Automatisierung der SOLIDWORKS Konstruktion.
Wir bieten drei Versionen an: DriveWorksXpress, DriveWorks Solo und DriveWorks Pro.
DriveWorksXpress ist bereits in Ihrer Version von SOLIDWORKS installiert und völlig kostenlos.
Solo und Pro bieten natürlich noch viele weitere Automatisierungsfunktionen.
http://www.driveworks.co.uk/products/driveworksxpress/ gibt Ihnen einen Überblick über Xpress (werfen Sie einen Blick auf die verschiedenen Registerkarten (Feature, Benefit, Compare).
http://www.driveworks.co.uk/products/driveworksxpress/sample-projects/ Beispiele, die Sie selbst ausprobieren können.
Und ein kleines Video: https://www.youtube.com/watch?v=WCSO0mKsoxA
Abschließend würde ich Ihnen raten, sich an Ihren SolidWorks Händler zu wenden, der Ihnen die Technologie genauer vorstellen kann!
Der in der Frage angegebene Code funktioniert schließlich in Excel, führt aber nicht die richtige Funktion aus. In der Tat öffnet es das Fenster "Öffnen" von Solidworks anstelle des Fensters "Speichern unter"...
Öffentliches Sub enregistrer_fichier() " Wir bekommen Solidworks zurück Set swApp = GetObject(, "SldWorks.Application") ' Wir rufen das aktive Dokument in solidworks ab Festlegen von swModel = swApp.ActiveDoc ' Wir öffnen das Registrierungsdialogfeld swModel.Speichern " Wir schließen die Datei swApp.CloseDoc swModel.GetTitle Ende Sub
Vielen Dank für Ihre Antwort. Der Code funktioniert, entspricht aber nicht dem, was ich bekommen wollte.
In der Tat speichert es die geänderte Datei, während ich eine Kopie in einem anderen Verzeichnis und unter einem anderen Namen speichern möchte, um die Basisdatei ohne Änderungen zu behalten.
Ich habe versucht, swModel.Save durch swModel.SaveAs zu ersetzen, aber es funktioniert nicht mehr.
Ich öffne das Dialogfeld So können Sie den Basisnamen ändern
Um Ihre Basisdatei zu schützen, versuchen Sie möglicherweise, sie schreibgeschützt zu machen Klicken Sie mit der rechten Maustaste auf die Datei Eigentum Aktivieren Sie das Kontrollkästchen schreibgeschützt
Für die Saveas müssen Sie den Aufzeichnungspfad sowie den Namen der Datei als Argument angeben Ich glaube nicht, dass Sie bereits wissen, wo es registriert werden soll und unter welchem Namen
Darüber hinaus öffnen die Speichervorgänge den Registrierungsdialog nicht soweit ich das verstehe