Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Workbook nicht schließen lassen

Workbook nicht schließen lassen
26.09.2007 17:29:00
Benni
Hallo Forum,
habe eine Frage: Ich will, dass ein Fragebogen, den ich erstelle, nur geöffnet werden kann, wenn sonst keine Excel Anwendung offen ist. Außerdem will ich, dass man alle Excel Anwendungen schließen muss, bevor man ihn schließen kann, dazu habe ich folgenden Code geschrieben:

Sub Workbook_Open()
If Workbooks.Count > 1 Then
MsgBox "Sie müssen zuerst alle anderen Excel Anwendungen Schließen, bevor Sie den  _
Fragebogen öffnen können."
ActiveWorkbook.Close SaveChanges:=False
End If
End Sub



Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Count > 1 Then
MsgBox "Bitte schließen Sie zuerst alle anderen Excel Anwendungen, bevor Sie den Fragebogen  _
schließen."
End If
End Sub


Das Workbook_Open() Ereignise klappt super, was ich nciht auf die Reihe bekommen ist das BeforeClose Ereignis:
Ich will, dass man man das den Fragebogen nur schließen kann, wenn der Workbooks.COunt = 1 ist. Es soll also solange die MsgBox aufpoppen, bis alles andere durch den Anwender geschlossen wurde.
Ich weiß aber leider den befehl dazu nicht, hat den jemand parat?
Vielen Dank im Voraus,
MfG, Benni.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook nicht schließen lassen
26.09.2007 17:33:38
Reinhard
Hi Benny,
probiers mal so:

Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Count > 1 Then
Cancel=true
MsgBox "Bitte schließen Sie zuerst alle anderen Excel Anwendungen, bevor Sie den Fragebogen  _
_
schließen."
End If
End Sub


AW: Workbook nicht schließen lassen
26.09.2007 17:42:12
Benni
Hallo Reinhard,
super, auf Cancel muss man erst mal kommen ;) Vielen Dank, is genau das was ich brauch.
schönen Abend noch,
Gruß, Benni.

AW: Workbook nicht schließen lassen
26.09.2007 17:47:00
Andi
Hi,
jetz hab ich grad ne Lösung gebastelt für ein Problem, das Du offenbar gar nicht hattest ;-)
ich möchte sie Dir aber dennoch nicht vorenthalten, weil sie durchaus noch relevant werden könnte, wenn Du den Fragebogen auf verschiedenen Rechnern verwendest.
Oft wird nämlich beim Start von Excel die PERSONL.XLS im Hintergrund mitgeöffnet, dann hat man automatisch 2 Workbooks offen, merkt es aber gar nicht. Dieses Problem kannst Du mit folgendem Code umgehen, der die Mappe auch dann schliesst, wenn 2 Workbooks offen sind, aber nur wenn das zweite die PERSONL.XLS ist:

Sub Workbook_BeforeClose(Cancel As Boolean)
Select Case Workbooks.Count
Case 1
Application.Quit
Case 2
If Workbooks(1).Name = "PERSONL.XLS" Or Workbooks(2).Name = "PERSONL.XLS" Then
Application.Quit
Else
MsgBox "Bitte schließen Sie zuerst alle anderen Excel Anwendungen, bevor Sie den  _
Fragebogen schließen."
Cancel = True
End If
Case Else
MsgBox "Bitte schließen Sie zuerst alle anderen Excel Anwendungen, bevor Sie den Fragebogen  _
schließen."
Cancel = True
End Select
End Sub


Schönen Gruß,
Andi

Anzeige
AW: Workbook nicht schließen lassen
26.09.2007 18:17:00
Benni
Hi Andi,
was ist denn diese personl.xls? Bei mir wird die zwar nciht geöffnet, aber da ich die Rechner der Leute nicht kenne, die den Fragebogen ausfüllen werden, kann es nicht schaden, deinen Code mal einzubauen.
Fällt dir noch so ein Problem ein?
Vielen Dank,
Gruß, Benni.

AW: Workbook nicht schließen lassen
26.09.2007 18:24:00
Andi
Hi,
die PERSONL.XLS ist im Grunde ein ganz normale Excel-Mappe, die auch nicht auf jedem Rechner existiert (die man aber manuell erstellen kann). Da sie, wenn sie existiert, automatisch mitgeöffnet wird, stehen Makros die man in dieser Mappe abspeichert immer zur Verfügung.
Wenn Du also die Rechner nicht kennst, kann es nicht schaden diese Sicherheit einzubauen. Ansonsten fallen mir gerade keine weiteren Stolpersteine ein, außer dass Du natürlich sicherstellen musst, dass die Mappe nur mit aktivierten Makros verwendet werden kann. Hierzu gibt das Forumsarchiv bei Bedarf bereitwillig und erschöpfend Auskunft ;-)
Schönen Gruß,
Andi

Anzeige
AW: Workbook nicht schließen lassen
26.09.2007 21:21:00
Reinhard
Hi Benny,
an die personl.xls hatte ich nicht gedacht, danke Andi.
Manuell würde ich sie nicht erzeugen, weil sie muss auch im richtigen Verzeichnis stehen und das ist zwar herauszufinden, aber kostet Zeit, grade wenn man mehrere Excelversionen hat.
Sicherer und auch viel schneller ist: Extras--Makro--Aufzeichnen, dann dort als Speicherort des makros "persönlicheArbeitsmappe auswählen im DropDownfeld, dann irgendwas belangloses aufzeichen.
Excel legt dann die personl.xls im richtigen Verzeichnis an.
Personl.xls ist standardmäßig ausgeblendet. Dortiger Code ist von jeder offenen Datei aus aufrufbar.
Falls du eine Abprüfung einbaust ob sie vorhanden ist, so prüfe auch gleich nach "personAl.xls", so heißt sie in engl. Excelversionen.
Gruß
Reinhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige