Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern Abfrage beim schließen

Speichern Abfrage beim schließen
Kristin
Hallo,
ich habe unter anderem Workbook_Deactivate() und Workbook_BeforeClose(Cancel As Boolean) benutzt - und alles funktioniert eigentlich gut.
Wenn die Arbeitsmappe geschlossen wird (BeforeClose), wird danach (standardmäßig) auch noch Workbook_Deactivate ausgeführt, was ich durch die Abfrage einer Variablen verhindere, da dies nicht passieren soll. Das klappt auch.
Nur wird jetzt immer nochmal gefragt, ob ich die Arbeitsmappe vor dem Schließen speichern möchte, obwohl gar nichts geändert wurde.
Kann ich dies "abstellen" - die Abfrage soll nur kommen wenn auch wirklich etwas geändert wurde.
In BeforeClose wird lediglich eine Symbolleiste deaktiviert, keine Werte in der Arbeitsmappe geändert.
Danke und Gruß,
kristin
AW: Speichern Abfrage beim schließen
Remo
Ciao Kirstin
Bin mir nicht sicher ob es für deinen Fall klappt, aber probiere mal
Application.DisplayAlerts =False
Gruss Remo
AW: Speichern Abfrage beim schließen
31.03.2004 10:23:44
Kristin
Danke für die Antwort,
aber dann sehe ich ja nicht, wenn die Arbeitsmappe tatsächlich gespeichert werden müsste...
Das Problem ist nicht die Abfrage, sondern, das sie IMMER kommt, auch wenn nichts geändert wurde.
Danke trotzdem,
Kristin
AW: Speichern Abfrage beim schließen
Bert
Hast du in deiner Mappe irgendwelche Formel, wie =Heute() oder =Zufallszahl()
o.ä.?
Bert
Ergänzung: oder auch INDIREKT?...oT
Boris
Grüße Boris
AW: Speichern Abfrage beim schließen
Kristin
Hallo Bert,
in der Mappe sind einige Formeln, aber nicht nicht solche wie die, die du meinst, also nichts, was dann noch berechnet werden würde.
wenn ich die Variable rausnehme, die das Workbook_Deactivate() verhindert, ist auch alles super, ich vermute das hängt irgendwo an der Stelle.
Kristin
Anzeige
AW: Speichern Abfrage beim schließen
Bert
Lad doch mal ein Beispiel hoch.
Bert
AW: Speichern Abfrage beim schließen
Kristin
puh, das würde ganz schön dauern, da ich die Datei, so wie si ist nicht hochladen kann...ich hoffe du verstehst...
hier aber Auszüge:
Diese Arbeitsmappe:

Private Sub Workbook_Deactivate()
If IsClosed = False Then
Application.Run ("OMP_Modul.xla!MediaPlanCheck")
End If
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
IsClosed = True
Application.Run ("OMP_Modul.xla!MediaPlanCheck")
End Sub

AddIn OMP_Modul.xla:
'bei jedem Blattwechsel, Öffnen und Schließen ausgeführt
Sub MediaPlanCheck()
On Error Resume Next
'Schaltfläche AdmasterSpecial_Ausblenden en- oder disabled
If validAdmaster(getUser()) Then
Application.CommandBars(MediaBarName).Controls("Einblenden").Controls("Export").Enabled = True
Application.CommandBars(MediaBarName).Controls("Extras").Controls("CSV-Export").Enabled = True
Else
Application.CommandBars(MediaBarName).Controls("Einblenden").Controls("Export").Enabled = False
Application.CommandBars(MediaBarName).Controls("Extras").Controls("CSV-Export").Enabled = False
End If
'Schaltfläche ReportingSpezial en- oder disabled
If validReportingUser(getUser()) Then
Application.CommandBars(MediaBarName).Controls("Reporting").Enabled = True
Else
Application.CommandBars(MediaBarName).Controls("Reporting").Enabled = False
End If


'Prüfen ob ein gültiger MediaPlan in der Version 2.1 oder höher vorliegt
If Left(Application.Cells(2, 2).Value, 17) = "Online Media Plan" Or _
Left(Application.Cells(2, 2).Value, 17) = "Online Media-Plan" And _
IsClosed True Then
If validVersionNum(getVersionNum()) Then
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = True
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = True
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = True
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = True
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = True
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = True
End If
'Wenn Arbeitsmappe geschlossen wird
ElseIf IsClosed = True Then
'die Schaltflächen enabled = false
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = False
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = False
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = False
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = False
Else
'die Schaltflächen enabled = false
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = False
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = False
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = False
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = False
End If
End Sub
kannst du damit etwas anfangen?
Danke für deine Mühe,
Kristin
Anzeige
AW: Speichern Abfrage beim schließen
Bert
Wenn du "Application.Run ("OMP_Modul.xla!MediaPlanCheck")" auskommentierst,
kommt dann die Abfrage noch immer?
Innerhalb dieses Codes im Add-In werden ja noch weitere Aktionen ausgeführt,
von denen man nicht weiß, was genau sie erledigen.
Bert
AW: Speichern Abfrage beim schließen
Kristin
so, habe alles auskommentiert was ging...
dachte schon du hast recht...also hast du auch irgendwie ;)
habe "Application.Run ("OMP_Modul.xla!MediaPlanCheck")" auskommentiert, und es ging.
habe dann noch etwas gefunden, was doch noch einen Wert in die Mappe kopiert, und es rausgeschmissen. Habe dann alles andere auch noch mal gechecked, und es muss wohl doch noch an etwas anderem liegen! Es geht also immer noch nicht...
Schade.
hier nochmal der geänderte Code, ohne andere Funktionen, bzw. diese werden ja nicht erreicht, da IsClosed auf true ist, und nur die eine If-bedingung erfüllt ist.
'Prüfen ob ein gültiger MediaPlan in der Version 2.1 oder höher vorliegt
If Left(Application.Cells(2, 2).Value, 17) = "Online Media Plan" Or _
Left(Application.Cells(2, 2).Value, 17) = "Online Media-Plan" And _
IsClosed = False Then
If validVersionNum(getVersionNum()) Then
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = True
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = True
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = True
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = True
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = True
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = True
At_getValues
At_Regelung_Change
End If
'Wenn Arbeitsmappe geschlossen wird
ElseIf IsClosed = True Then
'die Schaltflächen enabled = false
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = False
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = False
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = False
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = False
Else
'die Schaltflächen enabled = false
Application.CommandBars(MediaBarName).Controls("Farb-Änderung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Extras").Enabled = False
Application.CommandBars(MediaBarName).Controls("Einblenden").Enabled = False
Application.CommandBars(MediaBarName).Controls("At-Regelung").Enabled = False
Application.CommandBars(MediaBarName).Controls("Prozent").Enabled = False
Application.CommandBars(MediaBarName).Controls("Logo").Enabled = False
End If
End Sub
hast du noch eine Idee?
Gruß Kristin
Anzeige
AW: Speichern Abfrage beim schließen
31.03.2004 11:43:07
Kristin
zusatz:
geht immer noch nicht, soll heißen, wenn ich das Modul mit der Sub wieder lade!
ich brauche das Teil ja unbedingt...auskommentiert kann es ja nicht bleiben.
kristin
AW: Speichern Abfrage beim schließen
Bert
Es muss dann ja doch am Code in diesem Add- In liegen. Was genau es ist,
dürfte per Ferndiagnose schwierig zu finden sein. Setz doch mal in:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
eine msgbox, ob da irgendwo ein Change- Ereignis eintritt.
Bert
DANKESCHÖN BERT
31.03.2004 12:27:48
Kristin
GUTER TIPP...
Habe mir "Target" ausgeben lassen, es gibt "1" zurück.
aber wo kommt das her? Target.Activate zeigt es an...
das ist es also -hehe ... und es hat mich zu einer ganzen Menge Unsauberheiten geführt...durch diese wurde doch noch etwas in die Mappe geschrieben!!! Habe so einiges geändert/gesäubert. Letztendlich lag es also daran, etwas in die Mappe zu schreiben.
...tausend Dank für den schlauen Tipp.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige