Solidworks mit VBA aus Excel heraus steuern?!

Solidworks an und für sich ist schon ein sehr mächtiges Werkzeug zur Konstruktion von Bauteilen, Maschinen und der Erstellung ihrer Fertigungszeichnungen. Sind die Werkzeuge und Abläufe in der Software erstmal erlernt kommt man früher oder später an einen Punkt, an dem es nervt immer wieder die gleichen Abläufe durch zu exerzieren. Die VBA-Schnittstelle ist hierfür vorgesehen. In Ihr kann der fähige Anwender sein Können aus der MS-Office-Welt anwenden um sich auch in Solidworks das Leben zu erleichtern.

Doch gerade, wenn man die Arbeit mit MS Excel und VBA gewohnt ist, wünscht man sich evtl. die Möglichkeit die Daten aus dem 3D-Programm genauso so greifbar hand zu haben. Womöglich hat man schon eine kleine Toolbox erstellt und will diese um Solidworksspezifische Werkzeuge erweitern. Hier wird diese Blogreihe interessant!
In den folgenden Beiträgen werde ich zeigen was möglich ist und wie ich VBA aus Excel heraus in Solidworks nutze und mir so die Arbeit erleichtere.

Für den Anfang eine kleine, aber extrem nützliche Information.
Die wichtigste Codezeile ist folgende:

Set swApp = GetObject(, "SldWorks.Application.21")

Sie ermöglicht es, dass die VBA-Umgebung von Excel auf die von Solidworks zugreifen kann.

Der Parameter „21“ entspricht der Solidworks-Version.
(21 = Solidworks 2013)

Wichtig ist hier zu wissen, dass sich Excel und Solidworks im gleichen Berechtigungsraum befinden müssen. Sollte Excel als Administrator ausgeführt werden, Solidworks aber nicht (oder umgekehrt), so können sich die Programme nicht sehen und es funktioniert einfach nicht. (ratet mal woher ich das weiß  xD )

Hier folgen die Links zu den Blogeinträgen zu dieser Reihe:

Autor: Johannes Hassler

B. Eng. Mechatronik mit Schwerpunkten Automatisierungstechnik und Robotik, sowie Embedded Systems und Prozessoranwendungen Internationaler Schweißfachmann (SFM / IWS) Betriebswirt (HWK) Metallbaumeister (HWK)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.