Wählen Sie aus, welche Version von SolidWorks über Excel geöffnet werden soll (2021 oder 2022)

Hallo ihr alle

Ich habe ein Makro, das ich über eine Excel-Nomenklatur starte. Es ermöglicht mir, die Eigenschaften von Teilen und Baugruppen zu ändern und Pläne in PDF und DXF sowie Teile in STEP zu speichern, um meine Fertigungsdateien vorzubereiten. Ich möchte darauf hinweisen, dass Sie beim Ausführen des Makros nicht sehen, dass SolidWorks geöffnet ist oder die Teile/Ebenen sich öffnen und schließen.

Aber hier ist die Sache, mein Problem ist, dass wir mit der Version 2022 arbeiten und einer unserer Kunden mit der Version 2021 arbeitet und eine Arbeitsumgebung für seine Version von SolidWorks auf unseren Workstations installiert.

Meine Frage lautet also wie folgt: Können wir aus Excel auswählen, welche Version von SolidWorks geöffnet werden soll (ich würde dies über ein UserForm tun, denke ich)? Mein Wissen über VBA ist begrenzt, alles, was ich bisher getan habe, habe ich im Internet rechts und links ausgewählt. Für den Teil des Codes, der für SolidWorks Befehle spezifisch ist (der Teil, der die Eigenschaften ändert, ist noch nicht ganz fertig, ich stelle ihn nicht unten ein):

Öffnen von SolidWorks:
Set SWAPP = CreateObject("SldWorks.Application")

Öffnen und Aufnehmen des Stückes in STEP:
Legen Sie SWMODEL = SWAPP fest. OpenDoc6(CHEMIN_PIECE, 1, 1, "", myError, myWarning)
SW-Modell. SaveAs2 FLD_LANCEMENT_TEMPO und CHEMIN_STEP, 0, Wahr, Falsch

Öffnen und Speichern des Plans in PDF und DXF:
Legen Sie SWMODEL = SWAPP fest. OpenDoc6(CHEMIN_PLAN, 3, swOpenDocOptions_Silent, "", myError, myWarning)
SW-Modell. SaveAs2 FLD_LANCEMENT_TEMPO und CHEMIN_PDF, 0, Wahr, Falsch
SW-Modell. SaveAs2 FLD_LANCEMENT_TEMPO & CHEMIN_DXF, 0, Wahr, Falsch

Offene Belege schließen:
SWAPP. CloseAllDocuments True
Set SWAPP = Nothing: Set SWMODEL = Nothing

Können wir anstelle von "Set SWAPP = CreateObject("SldWorks.Application")" eine Codezeile haben, die es Ihnen ermöglicht, die gewünschte Version zu öffnen?

Vielen Dank für Ihre Hilfe =)

Hallo @f.vergneau ,

Um die Version von SolidWorks auszuwählen, fügen Sie einfach den Versionshinweis am Ende des Erstellungstexts des SWAPP-Objekts hinzu:
Set SWAPP = CreateObject("SldWorks.Application.30")

Achten Sie darauf, die entsprechenden Anführungszeichen und keine Leerzeichen zu setzen.
Die Hinweise sind wie folgt:

  • SOLIDWORKS 2015: 23
  • SOLIDWORKS 2016: 24
  • SOLIDWORKS 2017: 25
  • SOLIDWORKS 2018: 26
  • SOLIDWORKS 2019: 27
  • SOLIDWORKS 2020: 28
  • SOLIDWORKS 2021: 29
  • SOLIDWORKS 2022: 30

Sie können die Auswahl der Version in einer Dropdownliste vorschlagen und den richtigen Index aus der ListIndex-Eigenschaft abrufen.
image

Herzliche Grüße.

3 „Gefällt mir“

Hallo m.blt!

Vielen Dank für Ihre Antwort, es funktioniert perfekt! Was für eine Effizienz :wink: !