| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| myCADtools , eine App
|
Autor
|
Thema: ... beforesave (2385 / mal gelesen)
|
Hermann75 Mitglied Konstrukteur
Beiträge: 126 Registriert: 04.05.2016
|
erstellt am: 24. Apr. 2019 09:53 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Aus der Excel-VBA-Programmierung kenne ich die Möglichkeit, Makros zu schreiben, welche z.B. beim Öffnen der Datei automatisch gestartet werden. Diese haben dann eine spezielle Benennung, z.B. workbook_open(). Auch gibt es da die Möglichkeit ein Makro zu starten, wenn der Benutzer eine Datei speichert. Gibt es bei SolidWorks auch eine Möglichkeit ein Makro zu starten, wenn der Anwender "Speichern", "Alles speichern" oder "Speichern unter ..." drückt? Das Makro müsste natürlich vor dem eigentlichen Speichern ablaufen. Bin gespannt, ob da jemand was weiss. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1384 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 24. Apr. 2019 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
Hallo Hermann, schau mal in der API-Hilfe unter dem Thema Events nach. Dort findest du Infos. Ist zwar ein wenig mühselig, sich da durchzuwurschteln, aber es sind auch Beispiele im Netz oder hier im Forum zu finden. ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hermann75 Mitglied Konstrukteur
Beiträge: 126 Registriert: 04.05.2016
|
erstellt am: 02. Mai. 2019 10:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas Vielen Dank für deine Antwort. API ist (noch nicht) so mein Ding und etwas sozusagen pfannenfertiges, was vor dem Speichern ein bestimmtes Makro aufruft, habe ich bis anhin nicht gefunden. Anscheinend gibt es da auch noch ein Tool namens SDA4Free, welches aktuell aber nicht herunterladbar ist, aber mein Problem ebenfalls lösen könnte. Auch bin ich auf die Idee gekommen, einen eigenen Speicher-Button zu kreieren. Ctrl-S kann ich wohl diesem Button (Respektive meinem Makro) zuweisen. Den Button bringe ich zwar nicht in die Aufschwingende Symbolleiste aber daneben schon (und da hat es bei unserem grossen Bildschirmen noch platz). Voraussichtlich werde ich diesen Weg gehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3256 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 02. Mai. 2019 12:42 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
Zitat:
... beim Öffnen der Datei automatisch gestartet werden. ... ein Makro zu starten, wenn der Anwender "Speichern", "Alles speichern" oder "Speichern unter ..." drückt?...
Hallo, das eine Makro muss ja in jeder Datei mitgespeichert werden, damit es läuft. lässt sich nachträglich vermutlich schlecht implementieren in bestehende Dateien … Im anderen Fall wird ein Makro vorher gestartet, läuft im Hintergrund weiter und reagiert auf die Events von SolidWorks. also wenn der Anwender Speichern, oder Öffnen drückt. Damit kann man eher viele Dateien gleich behandeln. Da wirst du dich mit KLassen und Events kurz beschäftigen müssen, der Rest ist dann aber "normales" VBA. Evtl schaltet sich in die gleichen Events auch noch ein pdm System - möglicherweise kann es da zu Interferenzen kommen. Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3256 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 03. Mai. 2019 16:44 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
|
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. Mai. 2019 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
|
Hermann75 Mitglied Konstrukteur
Beiträge: 126 Registriert: 04.05.2016
|
erstellt am: 07. Jun. 2019 14:00 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Bin nun doch den Weg gegangen und habe mir ein Makro mit "swModel.Save3" zum Speichern geschrieben, welches aber erst ein anderes Makro aufruft. Danke dennoch für euer mitdenken. Schönen Gruss und schönes, langes Wochenende! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ConZept Mitglied Maschinenbautechniker
Beiträge: 15 Registriert: 19.02.2019 SolidWorks 2018 / SP 4.0 Win7x64 /HP Z440
|
erstellt am: 10. Jun. 2019 21:15 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
Hallo Hermann, das geht mit Events. FileSaveNotifyEventHandler ist das, was du suchst. Es wird eine Klasse im Makro benötigt, welche angesprochen wird, sobald eine Datei gespeichert werden soll. Events sind am Anfang etwas schwer zu verstehen, gibt aber Beispiele: Hier oder Hier im Englischsprachigem Forum findest du was dazu. Dazu muss das Makro mit SolidWorks gestartet werden, sofern du dir kein Add-In bauen willst ;p Damit das Makro mit SolidWorks startet (und nichts anderes macht, als auf das Speichern zu lauschen), kannst du mit [SolidWorks Installation]\SldWorks.exe /M c:\DeinMakro.swp SolidWorks starten. Sobald das Speichern abgefangen wird, kannst du entweder anderen Code ausführen, oder ein anderes Makro ausführen. ------------------ Gruß ConZept [Diese Nachricht wurde von ConZept am 10. Jun. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hermann75 Mitglied Konstrukteur
Beiträge: 126 Registriert: 04.05.2016
|
erstellt am: 13. Mai. 2020 10:11 <-- editieren / zitieren --> Unities abgeben:
|
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5499 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP3.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 13. Mai. 2020 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für Hermann75
|