Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  OnSave Event springt auch bei Saveas und Saveascopy an

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  OnSave Event springt auch bei Saveas und Saveascopy an (1146 mal gelesen)
SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 27. Mrz. 2008 22:29    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 VBA Forum,

wie kann ich es vermeiden das der OnSave Event auch bei Saveas und SaveCopyas ausgelöst wird?

------------------
Gruß
SEHER
www.inventor-tools.de

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 27. Mrz. 2008 23:47    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 SEHER 10 Unities + Antwort hilfreich

Hallo Andreas,

also ich würde versuchen in das Event (kBefore) eine Überprüfung zu implementieren. Dabei würde ich Context (NameValueMap) überwachen, und zwar den Wert davon (The full filename that document is being saved to). So nun geht man davon aus, dass wir einen Speichervorgang aus zwei Zuständen starten können:

1. Die Datei ist bereits gespeichert – in dem Fall existiert ein FullFileName
2. Die Datei ist noch nicht gespeichert – hier existiert kein FullFileName

Wenn wir die Situation 1 haben, entsprechen meiner Meinung nach alle 3 Speichermöglichkeiten der Speichermöglichkeit „Speichern“. Beispiel: Neue Datei erstellen und mit „Kopie speichern unter“ speichern. Wenn man jetzt die Datei schließt wird man nicht mehr gefragt ob die Datei gespeichert werden soll. Also es wurde nicht eine Kopie gespeichert, da es die Datei physikalisch nie gab, sondern eben die Datei selbst. Also das gleiche wie normales „Speichern“ oder „Speichern unter“. Warum da alle Optionen aktiv sind, weiß ich nicht. Richtig wäre nur die Option „Speichern“ einzublenden. Aber egal. So wenn das Dokument kein FullFileName hat, dann kann man den Speichervorgang immer als „Speichern“ betrachten. Aber diese Überprüfung reicht nicht, da man auch wenn die Datei existiert „Speichern“ auslösen kann. Und hier kommt dann NameValueMap ins Spiel, denn wenn der Wert (The full filename that document is being saved to) gleich Document.FullFileName ist, dann ist es wieder ein „Speichern“. Wenn nicht, dann ist es wohl „Speichern unter“ bzw. „Kopie speichern unter“. Also praktisch (vorsicht ohne den Editor erstellt):

Code:

If(BeforeOrAfter == kBefore)
  If(oDoc.FullFileName == "" | | oDoc.FullFileName == Context.Value)
    Ist nur ein "Speichern"

Aber, wie gesagt, war das nur eine Überlegung. Ob die Theorie stimmt, musst du mal prüfen.


------------------
Grüße Igor

FX64 Software Solutions

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 28. Mrz. 2008 08:20    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 SEHER 10 Unities + Antwort hilfreich

Hallo Andreas,

eine andere Möglichkeit ist ev. der FileSaveCounter - müsste vor dem erstmaligen speichern '0' zurückgeben. Musst mal testen...

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 28. Mrz. 2008 12:11    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

Danke Igor, danke Paul

Zitat:
Warum da alle Optionen aktiv sind, weiß ich nicht. Richtig wäre nur die Option „Speichern“ einzublenden.

Denke ich auch!

Aber mit dem Context (NameValueMap)  ist eine gute Idee. Werde ich mal ausprobieren.

Folgendes Problem: DXF erstellen bei jedem Speichern einer IDW. Bei SaveAs oder Saveascopy erstellt er mir von der Ursprungsidw eine DXF. Eigentlich möchte ich hier gar keine DXF schiessen.

Ich wende hier auch kAfter an, damit kein Dxf bei nichterfolgter Speicherung (Schreibschutz, Reservierung ...) geschossen wird.

------------------
Gruß
SEHER
www.inventor-tools.de

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



Projektingenieur:in Automatisierungstechnik (m/w/d)

Du suchst einen Arbeitgeber, der Dir spannende Herausforderungen und langfristige Perspektiven bietet? An unserem Lausitzer Produktionsstandort in Schwarzheide arbeiten 2000 Kollegen und Kolleginnen gemeinsam daran, dass die Chemie stimmt. Wir setzen auf Innovation und Nachhaltigkeit. Unsere vier Unternehmenswerte kreativ, offen, verantwortungsvoll und unternehmerisch legen fest, wie wir miteinander arbeiten....

Anzeige ansehenProjektmanagement
SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

erstellt am: 03. Apr. 2008 13:04    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

Danke Igor,
mit dem Context (NameValueMap)funktioniert es!

------------------
Gruß
SEHER
www.inventor-tools.de

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)2023 CAD.de | Impressum | Datenschutz