Hot News:

Unser Angebot:

  Foren auf CAD.de
  Excel
  VBA: Abfrage Änderung beim Schliessen

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  VBA: Abfrage Änderung beim Schliessen (2359 / mal gelesen)
Hofe
Mitglied
Werkzeugmacher


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

Beiträge: 440
Registriert: 12.01.2008

erstellt am: 11. Feb. 2016 11:35    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,

ich möchte beim schließen einer Datei eine Sicherungskopie speichern; soweit kein Problem.
Dies soll jedoch nur geschehen, wenn an der Datei etwas verändert wurde, also dann wenn Excel eine Veränderung feststellt und schon von sich aus fragt ob gespeichert werden soll.
Wie Frage ich dieses Ereignis ab?

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2862
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 11. Feb. 2016 12: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 Hofe 10 Unities + Antwort hilfreich

Hallo,
ist ganz einfach:
Code:

Sub Test_Änderungen()

If ActiveWorkbook.Saved Then
    MsgBox "keine Änderungen"
Else
    MsgBox "Ungespeicherte Änderungen vorhanden"
End If

End Sub


Grüße
Klaus 

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

Hofe
Mitglied
Werkzeugmacher


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

Beiträge: 440
Registriert: 12.01.2008

erstellt am: 16. Feb. 2016 13: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

Zitat:
Original erstellt von Hofe:
...soweit kein Problem.

Da hab ich mich wohl zu weit aus dem Fenster gelehnt 
Danke erstmal für den Namen des Ereignisses, funktioniert soweit.
Nun speichere ich eine Sicherungskopie via "Thisworkbook.SaveAs blablabla..."
Dadurch betrachtet Excel die Datei mit ihren aktuellen Änderungen als gespeichert und ich habe eben keine Kopie gespeichert, da das Original an seinem Speicherort unverändert bleibt.
Hab ich also nochmal eine Zeile eingefügt, die zusätzlich unter Originalnamen am Originalort gespeichert, funktioniert auch.
Damit habe ich mir aber das Ei gelegt, dass ich die Datei nicht mehr schliessen kann, ohne Änderungen zu speichern.
Pech gehabt oder denke ich zu kompliziert, gibts ne einfachere Lösung?

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2862
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 16. Feb. 2016 14:41    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 Hofe 10 Unities + Antwort hilfreich

Wenn Du das aus dem Eingangsthread meinst:
Zitat:
Original erstellt von Hofe:
ich möchte beim schließen einer Datei eine Sicherungskopie speichern; soweit kein Problem.


Wolltest Du das Programmtechnisch oder über Excel machen?
In Excel direkt ginge es über:
- Datei
-- speichern unter
dann unten Tools (neben speichern)
- allgemeine Optionen
-- Häkchen setzen bei "Sicherungsdatei erstellen"

Dann wird bei jedem Speichern eine *.xlk - Datei aus dem letztem Stand erzeugt.

Vielleicht hilft Dir das ja schon weiter.

Grüße
Klaus  

Edit:
Wenn Du Ohne Änderungen speichern willst, wer entscheidet das dann?
Wie hattest Du Dir das denn gedacht?
- Es gibt keine Änderungen => Workbook schließen
  sonst:
  - Abfrage: Änderungen speichern
  => nein : Workbook schließen
  => ja: Kopie von Workbook anlegen und Workbook unter gleichem Namen speichern
Das wäre meine Vorgehensweise für so einen Fall gewesen.

Kopie des Workbook kannst Du entweder über Dateifunktionen machen
oder Du verwendest beim Öffnen bereits die ActiveWorkbook.SaveCopyAs - Methode

[Diese Nachricht wurde von KlaK am 16. Feb. 2016 editiert.]

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

Hofe
Mitglied
Werkzeugmacher


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

Beiträge: 440
Registriert: 12.01.2008

erstellt am: 16. Feb. 2016 14:57    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

Servus Klaus,

Dein Vorschlag würde völlig genügen, wenn für die Sicherungskopie ein anderer Speicherort wählbar wäre, ich will die Kopie zwingend auf einem anderen Laufwerk speichern. Ausserdem habe ich ein schlechtes Gedächtnis und frage mich in ein paar Monaten bestimmt, woher denn da dauernd so eine blöde Sicherungskopie kommt, deren Speicherung ich in meinen Makros nicht nachvollziehen kann 
Also wohl doch per VBA, ich versuchs mal mit einer zusätzlichen Userabfrage. Ist dann zwar nicht so bequem, weil jedesmal Bestätigung erforderlich, aber besser als nüscht.
Oder hat noch jemand eine Idee?

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

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

Hofe
Mitglied
Werkzeugmacher


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

Beiträge: 440
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 16. Feb. 2016 15:07    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

Zu Deinem Edit:

Zitat:
Original erstellt von KlaK:
Wenn Du Ohne Änderungen speichern willst, wer entscheidet das dann?

Ich natürlich :D
Zitat:
Original erstellt von KlaK:
Wie hattest Du Dir das denn gedacht?
- Es gibt keine Änderungen => Workbook schließen
  sonst:
  - Abfrage: Änderungen speichern
  => nein : Workbook schließen
  => ja: Kopie von Workbook anlegen und Workbook unter gleichem Namen speichern


Genau so. Das Problem ist, dass die Routine "Auto_Close" oder "Workbook_Close" abgefragt wird, bevor Excel sich selber "ActiveWorkbook.Saved"? fragt. Also läuft mein Speichermakro ab, bevor Excel mich fragen kann, ob ich speichern will. Und nach meinem Makro gibts für Excel dann nix mehr zu fragen, da ja soeben gespeichert wurde.

Zitat:
Original erstellt von KlaK:
Kopie des Workbook kannst Du entweder über Dateifunktionen machen
oder Du verwendest beim Öffnen bereits die ActiveWorkbook.SaveCopyAs - Methode


Das hört sich passend an, probiere ich gleich aus.

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

[Diese Nachricht wurde von Hofe am 16. Feb. 2016 editiert.]

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

Hofe
Mitglied
Werkzeugmacher


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

Beiträge: 440
Registriert: 12.01.2008

erstellt am: 20. Feb. 2016 13:56    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

Die SaveCopyAs-Methode taugt mir am besten. Während die Kopie gespeichert wird blende ich einen Hinweis ein, danach fragt Excel wie gewohnt.

Besten Dank!

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

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