Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  ... beforesave

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   ... beforesave (760 mal gelesen)
Hermann75
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Hermann75 an!   Senden Sie eine Private Message an Hermann75  Schreiben Sie einen Gästebucheintrag für Hermann75

Beiträge: 61
Registriert: 04.05.2016

MS Windows 10 Pro; ASUS CPU E5-1620 v4 3.5GHz;
32GB Ram; 64bit; NVIDIA Quadro K2200;<P>SW 2017 SP3 Professional
SW-PDM 2017 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 24. Apr. 2019 09:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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)


Sehen Sie sich das Profil von ad_man an!   Senden Sie eine Private Message an ad_man  Schreiben Sie einen Gästebucheintrag für ad_man

Beiträge: 1032
Registriert: 20.12.2003

SolidWorks 2018 SP4, Windows 10 x64,
Workstation:
Fujitsu Celsius M740 Power, Xeon E5-1650v4, 32 GB DDR-Ram, Quadro K4000
Laptop:
HP ZBook 17 G4, i7-7820HQ, 32 GB DDR-Ram, Quadro P-3000

erstellt am: 24. Apr. 2019 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hermann75 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Hermann75 an!   Senden Sie eine Private Message an Hermann75  Schreiben Sie einen Gästebucheintrag für Hermann75

Beiträge: 61
Registriert: 04.05.2016

MS Windows 10 Pro; ASUS CPU E5-1620 v4 3.5GHz;
32GB Ram; 64bit; NVIDIA Quadro K2200;<P>SW 2017 SP3 Professional
SW-PDM 2017 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 02. Mai. 2019 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 2242
Registriert: 04.04.2001

SWX 2016sp5 WIN7-64
proAlpha6.2e/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19) CSWP 12/2015

erstellt am: 02. Mai. 2019 12:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hermann75 10 Unities + Antwort hilfreich

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)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 2242
Registriert: 04.04.2001

SWX 2016sp5 WIN7-64
proAlpha6.2e/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19) CSWP 12/2015

erstellt am: 03. Mai. 2019 16:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hermann75 10 Unities + Antwort hilfreich

hier hat noch jemand eine Lösung mit Makro-Feature dargestellt …
falls das noch hilft …

https://www.codestack.net/solidworks-api/document/macro-feature/model-load-watcher/

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Mitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1468
Registriert: 18.01.2001

arbeite mit:
HP Z440 Workstation
Xenon (12-Kern) 3.5GHz
32GB RAM
238GB SSD
------------------------
SWX-2016 SP5.0
DBWorks-R15 SP2.17
----------------
Windows 7 64 bit
----------------
VB
VBA
Lotus Notes Datenbanken
erste Schritte mit Swift

erstellt am: 07. Mai. 2019 12:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hermann75 10 Unities + Antwort hilfreich

Hallo Hermann,

für mich klingt das eher nach Add-In
Damit solltest Du alles erschlagen können was Du möchtest

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hermann75
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Hermann75 an!   Senden Sie eine Private Message an Hermann75  Schreiben Sie einen Gästebucheintrag für Hermann75

Beiträge: 61
Registriert: 04.05.2016

MS Windows 10 Pro; ASUS CPU E5-1620 v4 3.5GHz;
32GB Ram; 64bit; NVIDIA Quadro K2200;<P>SW 2017 SP3 Professional
SW-PDM 2017 Professional
HiCAD next 2008
Helios next 2008

erstellt am: 07. Jun. 2019 14:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von ConZept an!   Senden Sie eine Private Message an ConZept  Schreiben Sie einen Gästebucheintrag für ConZept

Beiträge: 11
Registriert: 19.02.2019

SolidWorks 2018 / SP 4.0
Win7x64 /HP Z440

erstellt am: 10. Jun. 2019 21:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Hermann75 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz