Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

save wird nicht ausgeführt

save wird nicht ausgeführt
05.04.2005 08:26:08
Andreas
Hallo an alle,
ich habe bereits in der vergangenen Woche dieses Problem ins Forum eingestellt, leider aber ohne passende Lösung - deshalb erneut mein Versuch.
ich habe in meine Anwendung einen 'Schließen-Button' integriert. Hierüber wird die Funktion Workbook_Close() aufgerufen. Soweit funktioniert auch alles. Wenn ich nun mein Makro ausführe, kommt die Meldung "Möchten sie die geänderte Datei speichern" - nach bestätigung mit "Ja" wird auch die entsprechende case-Anweisung Sub Ja() ausgeführt. Problem jedoch: die Save-Anweisung wird einfach übergangen mit der Folge, dass die Anwendung nicht gespeichert wird.
Noch eine Anmerkung: wenn ich über das Menü - Datei - schließen gehe, funktioniert alles einwandfrei !?!
Ich bin für alle Lösungsvorschläge offen und dankbar.
Danke im voraus,
Grüße Andreas
-------------------------------------------------------------

Private Sub Workbook_Close()
Workbooks(Wrkbk).Close
End Sub

-------------------------------------------------------------

Private Sub workbook_Beforeclose(Cancel As Boolean)
Dim Antwort%
Dim Frage As String
n = ActiveWorkbook.Name
Msg = "Möchten Sie die geänderte Datei speichern?"
Select Case MsgBox(Msg, vbInformation + vbYesNoCancel)
Case vbYes: Call Ja             'Makroaufruf bei Ja
Case vbNo: Call Nein            'Makroaufruf bei Nein
Case vbCancel: Cancel = True    'Abbrechen
End Select
End Sub

-------------------------------------------------------------

Private Sub Ja()
Workbooks(Wrkbk).Activate
Workbooks(Wrkbk).Save
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 09:04:57
Tobias
Servus!
Wenn du in deiner Ja-Routine sowieso das Workbook aktivierst, versuchs doch mal mit ActiveWorkbook.Save
Gehts dann?
Gruss

Tobias
AW: save wird nicht ausgeführt
05.04.2005 10:51:33
Andreas
Hallo an alle,
damit mein Problem vielleicht etwas deutlicher wird, habe ich auf dem Server eine Beispieldatei zur Verfügung gestellt. Alle anderen Tipps haben leider nicht gefruchtet.
https://www.herber.de/bbs/user/20704.xls
Vielen dank im voraus,
Andreas
AW: save wird nicht ausgeführt
05.04.2005 11:11:48
Andi
Hi,
die anderen Tips waren nicht wirklich Tips, sondern eher Rückfragen, zB Heiko: "Wo und wann wird Wrkbk mit dem Workbook Namen versehen ?"
Du hattest doch sicherlich vor, mit der Variable n, der Du ja den Workbook Namen zuweist, irgendwas anzustellen oder? Bis jetzt tust Du das aber nicht. Probier doch mal, die Variable der

Sub Ja zu übergeben:
call Ja(n)
die 

Sub würde dann so anfangen:

Sub Ja(WrkBk as String)
End Sub

Is jetzt eher ein Schuss ins Blaue, aber vielleicht hilft's ja...
Schönen Gruß,
Andi
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 12:45:02
Andreas
Hallo Andi,
Die Variable (n) hatte ich eingeführt, um Fehler bei mehreren gleichzeitig geöffneten Arbeitsmappen zu vermeiden.
Ich hatte nämlich ein Problem damit, dass beim beenden von Excel aus einer anderen, geöffneten Arbeitsmappe meine before_close-Anweisung fehlerhaft durchlaufen wurde. Mit dieser Variablen kam es dann zumindest an dieser Stelle nicht mehr zum Fehler.
Ich möchte einfach gewährleisten ,dass die Anwendung sowohl über den Button 'schließen' als auch über das (x) in der Menüleiste geschlossen werden kann, auch wenn gleichzeitig mehrere Mappen geöffnet sind.
Ich hoffe, damit ist es jetzt etwas klarer geworden.
Viele Grüße,
Andreas
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 11:58:46
Heiko
Hallo Andreas,
ich kann Andi nur zustimmen und vermute du hast dich verzettelt.
Darum noch eine Frage.
Die Datei mit dem Namen Text.xls ist das die Datei in der du den ganzen Code hast, oder ist eine Datei die neben der mit dem Code auch geöffnet ist und in der du sozusagen arbeitest?
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: save wird nicht ausgeführt
05.04.2005 12:37:02
Andreas
Hallo Heiko,
das ist gut möglich, dass ich ein wenig in die Irre gelaufen bin.
Die datei test.xls enthält den gasamten Code. Allerdings habe ich einige Tabellenblätter und Userforms gelöscht sowie verknüpfungen zu anderen dateien entfernt, um die vorgeschriebenen 300kb nicht zu überschreiten. Es sind also keine weiteren Dateien in Gebrauch.
Viele Grüße,
Andreas
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 12:44:07
Heiko
Hallo Andreas,
Grund meiner Frage ist dieser Codeauszug.
Denn wenn Wrkbk nicht das Workbook ist in dem sich dieser Code befindet dann wird diese
Workbook_BeforeClose Aktion natürlich nicht ausgeführt wenn du Wrkbk schließt. Die bezieht sich nämlich auf die Arbeitsmappe mit dem Code. Alles klar ;-)))

Private Sub Workbook_Close()
Workbooks(Wrkbk).Close
End Sub


Private Sub workbook_Beforeclose(Cancel As Boolean)
'Speichern-Abfrage beim Schließen
Dim Antwort%
Dim Frage As String
n = ActiveWorkbook.Name
Msg = "Möchten Sie die geänderte Datei " & Workbooks(Wrkbk).Name & " speichern?"
Select Case MsgBox(Msg, vbInformation + vbYesNoCancel)
Case vbYes: Call Ja             'Makroaufruf bei Ja
Case vbNo: Call Nein            'Makroaufruf bei Nein
Case vbCancel: Cancel = True    'Abbrechen
End Select
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 12:50:14
Andreas
Hallo Heiko,
hinter der Variablen wrkbk verbirgt sich tatsächlich die Anwendung test.xls.
Die before-Close-Anweisung wird im Einzelschrittmodus auch tatsächlich durchlaufen - ebenso wird auch der Aufruf der Case-Anweisung richtig ausgeführt - nur die Anweisung 'save' will er einfach nicht durchführen.
Grüße,
Andreas
AW: save wird nicht ausgeführt
05.04.2005 12:55:07
P@ulchen
Hallo Andreas,
hast Du mal eine Änderung in Deiner Mappe vorgenommen, bevor Du den Code ausprobiert hast? Wenn Du eine Mappe ohne Änderungen schließt, wird die Speicherabfrage ja auch nicht aufgerufen.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 13:42:34
Andreas
Hallo Paulchen,
hab ich alles schon durchprobiert und es funzt trotzdem nicht. Im Einzelschrittmodus sieht man ja tatsächlich die einzelnen durchlaufenen Schritte - klappt alles bis auf die save-Anweisung wird einfach ignoriert als würde die Befehlszeile gar nicht existieren.
Gruß Andreas
AW: save wird nicht ausgeführt
05.04.2005 14:08:26
Heiko
Hallo Andreas,
nettes Problem, aber vielleicht habe ich die Lösung.
Habe deinen Code mal auf das wesentliche Problem abgespeckt.
Und soweit ergänzt das er nun speichert.
Wichtig das SaveChanges:=True hinter .close
Wichtig das Workbooks(Wrkbk).Saved = True bei Nein, kann dann auch in das Nein Sub. Läßt du das aber fehlen fragt EXCEL nochmal nach ob du speichern willst.
Option Explicit
Const Wrkbk = "Test.xls" 'Dateiname als Konstante
Sub Workbook()
Workbooks(Wrkbk).Close SaveChanges:=True
End Sub

Private Sub workbook_Beforeclose(Cancel As Boolean)
'Speichern-Abfrage beim Schließen
Select Case MsgBox("Speichern", vbInformation + vbYesNoCancel)
Case vbYes: ja    'Makroaufruf bei Ja
Case vbNo: Workbooks(Wrkbk).Saved = True
End Select
End Sub


Private Sub ja()
Workbooks(Wrkbk).Save
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 14:24:47
Andreas
Hallo Heiko,
heißa-juch-hee es hat geklappt. Ich habe wie von dir beschrieben meine Anweisung "Workbooks(Wrkbk).Close" um den Zusatz "SaveChanges:=True" ergänzt und schon funktioniert es.
Vielen dank nochmals. Ohne dich/euch wäre ich wohl aufgeschmissen.
Viele Grüße,
Andreas
AW: save wird nicht ausgeführt
05.04.2005 09:09:55
Andi
Hi Namensvetter,
vielleicht lädst Du am besten mal ne Mappe hoch; auf den ersten Blick scheint mir Dein Code ein wenig zusammengewürfelt zu sein. ZB definierst Du zwei Variable (Antwort und Frage), die dann nie wieder auftauchen; einer weiteren, nicht definierten, Variable, weist Du einen Wert zu, der dann aber auch nie wieder verwendet wird...
Wenn ich mich recht entsinne, dann hatte ich Dir im letzten Thread zum Thema vorgeschlagen, mittels MsgBox zu überprüfen, ob Excel die Datei für gespeichert hält oder nicht. Leider hast Du darauf nicht mehr geantwortet. Hast Du das ausprobiert, und wenn ja, mit welchen Ergebnis? Wenn nein, warum nicht?
Schönen Gruß,
Andi
P.S.: Ein link auf den alten Thread wäre nett; das erleichtert das Mitlesen und man weiss, was schon alles versucht wurde...
Anzeige
AW: save wird nicht ausgeführt
05.04.2005 09:13:34
Heiko
Hallo Andreas,
ich habe ein bisschen Probleme mit deinen Variablen.
Wo und wann wird Wrkbk mit dem Workbook Namen versehen ?
Was machen diese beiden Variablen ?
Dim Antwort%
Dim Frage As String
Hast du noch mehr Code der uns helfen könnte deinen Fehler zu finden, wozu sonst die Variablen.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: save wird nicht ausgeführt
05.04.2005 09:17:09
P@ulchen
Hallo Andreas,
versuch mal so:


Sub CommandButton1_Click()
DateiSchliessen
End Sub
Sub DateiSchliessen()
Dim Frage As String
Frage = "Soll die Arbeitsmappe geschlossen und gespeichert werden?"
Select Case MsgBox(Frage, vbInformation + vbYesNoCancel)
    Case vbYes
        Application.EnableEvents = False
        ActiveWorkbook.Close True
        Application.EnableEvents = True
    Case vbNo
        MsgBox "Mappe wurde nicht gespeichert!"
End Select
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
DateiSchliessen
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige