| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Moderne CAx Entwicklungsmethoden: Generatives Design, Gitternetzstrukturen & MBD, ein Webinar am 11.10.2024
|
Autor
|
Thema: Neues Makro als .vbproj erstellen geht nicht (3530 mal gelesen)
|
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005
|
erstellt am: 07. Sep. 2015 15:12 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche ein neues Makro(.vbproj) in SW zu erstellen. Es öffnet sich aber kein Editor hierzu. Da bei uns in der Firma die Rechner ziemlich geschützt sind. (Ausführen von .exe, .bat,... USB, CD, .. ist nicht erlaubt.) habe ich mit unserer IT schon nach einer Lösung gesucht. Aufgefallen ist uns, dass das Ausführen der VSTA.exe geblockt wurde. Das ist inzwischen möglich. Aber mehr können wir nicht finden. Komischerweise geht alles, wenn ich ein .swp Makro erstellen möchte. Da gibt es keinerlei Probleme. Erstellen, aufnehmen, editieren geht alles. Hoffe ihr könnt mir helfen. Ich verzweifel hier noch. Danke
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 07. Sep. 2015 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Hallo twewer richtig weiterhelfen kann ich Dir leider auch nicht. Nur soviel, wenn ich ein .vbproj Makro zu erstellen, dann wird bei mir "Visual Studio Tools for Applications" gestartet. (gestartet wird Microsoft Visual Studio 2005) Gibt es einen bestimmten Grund warum Du VSTA verwenden möchtest und nicht einfach VBA?
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 08. Sep. 2015 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
|
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 08. Sep. 2015 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 08. Sep. 2015 08:44 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Hallo Timo Wir hatten mal das Problem, das wir keine vb.net- oder c#-Makros speichern konnten. Die Lösung von unserem Support war das VSTA zu reinitialisieren. (S-046954) Zitat: What can be done if a user cannot save a VSTA Macro?In some cases, a user tries to save the macro but no files are created. In these cases reinitializing VSTA has helped. To reinitialize VSTA: 32-bit • Rename "HKEY_LOCAL_Machine\Software\Microsoft\VSTAHost" to "VSTAHost_old" (do not rename "VSTAHostConfig") • Open a command prompt and change directory to the folder in which the "vsta.exe" resides; normally this is "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" • In the command prompt type: vsta.exe /hostid SolidWorks_VSTA /setup • Hit Enter 64-bit • Rename "HKEY_LOCAL_Machine\Software\Wow6432Node\Microsoft\VSTAHost" to "VSTAHost_old" (do not rename "VSTAHostConfig") • Open a command prompt and change directory to the folder in which the "vsta.exe" resides; normally this is "C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE" • In the command prompt type: vsta.exe /hostid SolidWorks_VSTA /setup • Hit Enter
Gruss Andreas
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005
|
erstellt am: 08. Sep. 2015 09:59 <-- editieren / zitieren --> Unities abgeben:
Hallo und vielen Dank schon mal für die Antworten. @Klaus & Heinz: Super erklärt mit dem Video. Allerdings muss bei der Installation von SolidWorks schon das VSTA mit installiert warden. Nachträglich geht das soviel ich weiß nicht. @Andreas: Vielen Dank für den Tipp. Ich werde das mit unserer IT zusammen versuchen. (Ich selbst habe leider mal wieder nicht genug Rechte javascript:InsertSMI(' %20'); ) Gruß Timo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005 HP Z440 Workstation Xenon (12-Kern) 3.5GHz Nvidia Quadro K2200 16GB RAM 238GB SSD ------------------------ SWX-2015 SP4.0 ---------------- Windows 7 Pro 64 bit Office 2013
|
erstellt am: 08. Sep. 2015 10:53 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 08. Sep. 2015 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Danke für das Video! Seit wann gibts denn das, das ist total an mir vorbei gegangen. Allerdings funktioniert es bei mir nicht. Ich bekomme es zwar angeboten, beim Klick auf "Speichern" passiert aber nichts, außer, dass der Dialog zu geht Ich habe das bei der Installation auch noch nie gesehen. ^^ In den Installationsoptionen finde ich nur die Visual-Studio-Tools, die sind bei mir aktiv. Was ist konkret der Nutzen, kann ich damit das .net Framework nutzen, die Syntax, alles...? Oder sieht's nur so aus? ------------------ Klaus
www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 08. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005
|
erstellt am: 08. Sep. 2015 16:25 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 08. Sep. 2015 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Hmm...gibt wohl viele Unterschiedliche Problemvarianten. - Auf einem (virtuellen) Testrechner hat die Lösung funktioniert . Leider eben nur testweise .
- Auf meinem Arbeitsrechner tut sich trotzdem nix . VSTA.exe ist hier auch unter einem anderen Pfad:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
- Auf einem anderen Rechner kommt beim der beschriebenen Ausführung der VSTA.exe die Fehlermeldung "Unable to load context". Und funktioniert dann natürlich immer noch nicht.
Beim Versuch, eine .vbproj-Datei zu erzeugen, gibts die Fehlermeldung "No Visual Studio template information found. See the application log in event viewer for more details....". Im Event-Viewer finde ich eine Warnung von Visual Studio, darin steht: "The Visual Studio template information is out of date. Regenerate the templates by running 'VSTA /installvstemplates' or reinstalling Visual Studio." Wenn ich das "VSTA /installvstemplates" eingebe, gibts von Visual Studio die Fehlermeldung "Invalid command line" .
------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 09. Sep. 2015 06:56 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Danke Heinz für die Information, an mir ist das irgendwie auch total vorbei gegangen dass es das gibt. Und das beste ist es funktioniert sogar auf anhieb . Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005
|
erstellt am: 09. Sep. 2015 08:33 <-- editieren / zitieren --> Unities abgeben:
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Sep. 2015 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Danke, das führt ein bischen weiter, aber noch nicht zum Ziel. Bei dem "anderen" Rechner hat es funktioniert, soweit schon mal prima einfach die Pfade zu den Projekt-Templates eingetragen und fertig.
Bei meinem Arbeitsrechner klappts noch nicht so richtig. Die Problemursache ist vermutlich, dass ich auf meinem Rechner im Laufe der Zeit mehrere Visual Studio Versionen installiert hatte, von 2010 Express, über 2012 bis aktuell 2013 Premium. Wie schon oben beschrieben, ist die VSTA.exe nur im Ordner C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE zu finden. Der Projekt-Template-Ordner liegt aber unter C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE, dort gibts auch das SolidWorks_VSTA-Verzeichnis mit dem Makro-Template. Aber es funktioniert trotzdem noch nicht:
- Aus SolidWorks heraus passiert immer noch nichts, wenn ich ein neues .vbproj-Makro erstellen will
- Beim manuellen Starten der VSTA.exe bekomme ich immer noch die Fehlermeldung von wegen "no template information found". Anschließend wird mir das SolidWorks_macro zur Auswahl angezeigt, lässt sich aber nciht erstellen, Fehler: "Specified cast is not valid"- vermutlich, weil es eben nicht aus SWX heraus gestartet wurde.
------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 09. Sep. 2015 16:29 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Hallo Klaus Es ist gut möglich, dass eine VisualStudio-Installation das VSTA auf die Version 2.0 upgedatet hat. Vielleicht ist bei dir deshalb die vsta.exe im 9.0-Ordner. VSTA 1.0 basiert auf .NET 2.0 und Visual Studio 2005 VSTA 2.0 basiert auf .NET 3.5 SP1 und Visual Studio 2008 SolidWorks arbeitet mit VSTA 1.0. Als Lösung hilft es vielleicht,die SolidWorks-Installation zu reparieren, oder das VSTA 1.0 nach zu installieren (Dieses ist im Support-Protal als Download verfügbar.) Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 10. Sep. 2015 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Danke Jetzt funktioniert's (fast). (Auf die Idee hätte ich auch mal wieder selber kommen können ) Was mich jetzt noch stört: Am Anfang des SolidWorks-Makros "SolidWorksMacro.vb" werden die SolidWorks-API-DLLS importiert, im Code wird swAPP als SldWorks deklariert. Aber das ist alles als Fehler gekennzeichnet, weil die benötigen Verweise fehlen. Warum- zum Teufel- fehlen in dem Template die Verweise auf SolidWorks.Interop.sldworks und SolidWorks.Interop.swconst? Das ist doch bescheuert! Jetzt muss ich erst wieder mühsam bei jedem neuen Projekt die SolidWorks-Verweise einfügen. Bei einem Template von SolidWorks für SolidWorks hätte ich eigentlich erwartet, dass diese schon mit drin sind. Oder ist das nur bei mir so? [Edit]Nachtrag: Wenn ich ein Macro als .vbproj aufzeichne, sind die Verweise mit drin. Er findet sie also[/Edit] ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 10. Sep. 2015 editiert.] [Diese Nachricht wurde von KMassler am 10. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
twewer Mitglied CAD Admin + Mädchen für Alles...
Beiträge: 17 Registriert: 04.07.2005
|
erstellt am: 10. Sep. 2015 10:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, jetzt wo du es sagst, ist es mir auch aufgefallen. Bei einem neuen Makro bekomme ich die Interops auch als Fehler angezeigt. Nach dem ersten "Build" hatte sich das allerdings von selbst erledigt. Der Pfad für die Interops ist zumindest richtig hinterlegt gewesen. In meinem Fall "C:\Program Files\SolidWorks 2015\api\redist\CLR2\" ------------------ Timo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 10. Sep. 2015 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für twewer
Nach ersten Gehversuchen tendiere ich dazu, meine bisherige Vorgehensweise beizubehalten: Kleine, schnell mal benötigte Macros mit VBA, größere, komplexe Programme mit Visual Studio. Das VSTA ist irgendwie ein Gemurkse. Beispiel: Ich nehme Makro auf, erzeuge eine Skizze mit einem Rechteck ca. 85x54mm, ohne zu bemaßen, schließe die Skizze, beende die Aufnahme, speichere das Makro und öffne es im Editor. Dann steht da bei zur Erzeugung des Rechtecks: vSkLines = CType(swDoc.SketchManager.CreateCornerRectangle(0, 0, 0, 85333703540674128, 54360729662947960, 0),Array). Das ergibt ein Rechteck mit 85Trillionen mm x 54Trillionen mm (wenn ich mich nicht in den Stellen verzählt habe) Wie blöd ist das denn? Auch alle SelectByID2-Methoden sind mit diesen riesigen Werten geschrieben. usw. Und auf 64bit-Systemen lässt sich das Makro nicht direkt aus dem Editor starten, dazu müssten erst wieder irgendwelche (welche?) DLLs registriert werden, da hab ich jetzt echt keine Lust mehr drauf. Fazit: Total unbrauchbar. Liebe SolidWorks-und/oder Microsoft-Entwickler, wie wäre es, wenn ihr hier mal Nägel mit Köpfen machen würdet, und ein Paket erstellt, das out-of-the-box richtig funktioniert? [Edit]Und bitte passend zum aktuellen .net-Framework. Was will ich mit so alten Gurken? [/Edit] Also ich mach nen Strich drunter und programmiere weiter wie bisher... Aber trotzdem Danke für die Hilfe soweit. ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 10. Sep. 2015 editiert.] [Diese Nachricht wurde von KMassler am 10. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |