Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

beforeClose=Wbs.close or Applicatio.quit

beforeClose=Wbs.close or Applicatio.quit
11.09.2008 14:29:00
Dirk
Hallo an alle,
nachdem ich nun schon Tage mit Unterstützung der Hilfe sowie diesem Forum an meinem Code rumbastel, brauche ich bitte nochmal eure Hilfe.
Bin dabei ein Workbook_BeforeClose-Makro zu schreiben,das auch andere bestimmte Excelmappen(.xls)falls geöffnet schliessen soll. Dafür dachte ich frage ich mit Workbooks.count erstmal ab wieviel
Mappen offen sind, damit ich Appliction.quit abfangen kann und andere Mappen nicht unfreiwillig mit geschlossen werden. Nun möchte ich aber erreichen das wenn bestimmte Mappen geöffnet sind
diese geschlossen werden, aber andere wiederrum geöffnet bleiben. Hab keinen Schimmer wie ich dies bewerkstelligen kann.
Zweite Problematik, ich bin unter Umständen in anderen Tabellen am arbeiten, und dann soll es trotzdem im Hintergrund ablaufen, geht das?
anbei meine kläglichen Versuche.
https://www.herber.de/bbs/user/55322.xls
oder bin ich vielleicht meilenweit von einer Lösung entfernt, gibt es bessere Lösungen?
danke für die Unterstützung
Dirk

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 14:37:16
Rudi
Hallo,
zu 1:
ungetestet

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wkb As Workbook
For Each wkb In Workbooks
If Not wkb.Name = ThisWorkbook.Name Then
Select Case wkb.Name
Case "Test1.xls", "Test2.xls", "Test3.xls"
wkb.Close True
End Select
End If
Next wkb
If Workbooks.Count = 1 Then Application.Quit
End Sub


zu2: und wie wird das Ereignis dann ausgelöst?
Gruß
Rudi

AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 15:17:41
Dirk
Hallo Rudi,
ersteinmal danke, werd es gleich testen, sieht irgendwie logisch aus, wie kommt man darauf?
Zu Deiner Frage wie das ausgelöst wird, kann ich nur auf die "große " komplette Datei verweisen, wo Festplattenseriennummern und sowas abgefragt werden, kurz gesagt ich habe keine Ahnung,stand da ursprünglich mal im Debugger und so bin ich drauf aufmerksam geworden. Hoffe damit die Frage beantwortet zu haben.
Nochmals danke für die Hilfe, werde nachfragen wenn es Probleme gibt.
Gruss vom Teutoburger Wald
Dirk
Anzeige
AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 15:30:02
Rudi
Hallo,

wie kommt man darauf?


Durch nachdenken und Erfahrung.
Gruß
Rudi

AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 16:10:00
Dirk
Hallo Rudi,
beim testen deines Codes ist mir aufgefallen, wenn ich das schliessen Kreuz betätige schliesst er alle Mappen, egal wie man sie nennt. Würde aber gern die Excelmappen die nichts mit dieser zutun haben offen lassen geht das irgendwie?
Gruss und danke
Dirk
AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 16:18:04
Rudi
Hallo,

wenn ich das schliessen Kreuz betätige 


welches? Das von Excel?
Gruß
Rudi

AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 16:31:03
Dirk
Hallo,
ja genau, oben rechts hab ich ja zwei, einmal für die Tabelle(da gehts) und einmal Excel, und möchte es abfangen wenn einer Excel beendet das die Mappen die nicht aufgezählt sind offen bleiben
Hoffe das nun genau erklärt zu haben
danke
Gruss Dirk
Anzeige
AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 14:40:00
Hajo_Zi
Hallo Dirk,
ich habe kein Zeit zum testen.

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim WbDatei As Workbook
If Workbooks.Count = 1 Then
'Application.DisplayAlerts = False       'Bildschirmmeldung ausgeschaltet
ThisWorkbook.Save                      'Diese Arbeitsmappe speichern
'ThisWorkbook.Saved = True               'Diese Arbeitsmappe nicht speichern
Application.Quit                        'Excelinstanz schließen
'Application.DisplayAlerts = True       '
Else
'ThisWorkbook.Close Savechanges:=False   'Diese Arbeitsmappe schließen, Änderungen  _
verwerfen
Application.DisplayAlerts = False
For Each WbDatei In Workbooks
Select Case WbDatei.Name
Case "2Test2.xls", "Test.XLS"
If Workbooks.Count = 1 Then
WbDatei.Save
Application.Quit
Else
WbDatei.Close False
End If
End Select
Next
ThisWorkbook.Close
Application.DisplayAlerts = True
End If
End Sub



Anzeige
AW: beforeClose=Wbs.close or Applicatio.quit
11.09.2008 15:21:51
Dirk
Hallo Hajo,
auch Dir ersteinmal besten Dank, werde es gleich mal ausprobieren.
Falls es Probleme gibt werd ich hier nachfragen.
Danke für die Unterstützung.
Gruss vom Teutoburger Wald
Dirk

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige