Makro-Dialog "Speichern unter" öffnen

Hallo

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

 

Wer kennt die Lösung?

Vielen Dank.

 

Hallo

Es ist nicht so einfach wie das Kopieren und Einfügen von Code aus SolidWorks in Excel!

Ist die SolidWorks-Referenz im Visual Basic-Optionsmenü in Excel aktiviert?

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.

Hallo, darf ich fragen, was das Endziel der Operation ist?

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!

Auf Wunsch beantworte ich auch Ihre Fragen.

Thomas

1 „Gefällt mir“

Ich möchte DriveWorks nicht verwenden, da das Makro bereits vorhanden ist und regelmäßig verwendet wird.

Daher möchte ich es weiterentwickeln und dabei die bereits ausgeführten Vorgänge beibehalten.

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

Hallo

Ich denke, dieser Code macht, was Sie wollen

Ö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

 

1 „Gefällt mir“

Sehr geehrter Herr Franz Onsenofu,

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

aber ich könnte mich irren
;)

Wenn ich meine Dateien auf schreibgeschützt umstelle, öffnet sich das Dialogfeld und ich kann alle benötigten Daten bearbeiten.

Vielen Dank, Francis Onsenfou !

1 „Gefällt mir“