Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

MsgBox wenn Datei sich nicht öffnet

Betrifft: MsgBox wenn Datei sich nicht öffnet von: Lisa
Geschrieben am: 16.09.2020 09:25:48

Hallo liebe VBA Community : )

Ich hänge grade am Integrieren einer MsgBox bei WorkbookOpen.
Vielleicht wisst ihr Rat?

Wenn die Datei bereits von einem Nutzer in Verwendung ist und sich nur schreibgeschützt öffnen lässt, soll sie sich gar nicht öffnen. Das habe ich grade wie folgt aufgebaut:

Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then ThisWorkbook.Close False
MsgBox ("Die Datei kann aktuell nicht erneut geöffnet werden, da bereits von einem Nutzer in  _
Verwendung.")
End Sub
Das Problem: Er zeigt die Meldung MsgBox auch dann an, wenn die Datei nicht schreibgeschützt ist.
Wo hängts hier bei mir?

Liebe Grüße,
Lisa

Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Rudi Maintaire
Geschrieben am: 16.09.2020 09:27:39

Hallo,
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then 
MsgBox ("Die Datei kann aktuell nicht erneut geöffnet werden, da bereits von einem Nutzer in  _
Verwendung.")
ThisWorkbook.Close False
End If
End Sub

Gruß
Rudi

Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Lisa
Geschrieben am: 16.09.2020 10:08:07

Hallo Rudi,

vielen lieben Dank, das funktioniert! :-)

Es öffnet sich die Schreibschutz-Abfrage,
dann öffnet er die Datei,
und dann erscheint die Meldung MsgBox.

Allerdings zeigt er danach beim Schließen dann noch einen Laufzeitfehler 1004:

"Select Methode des Range-Objekts kann nicht ausgeführt werden".

Wenn ich die Fehlermeldung schließe, schließt sich dann auch die Datei wieder.
Um diese Fehlermeldung von Excel zu umgehen hab ich es mit On Error Resume Next probiert.
Excel zeigt sie aber trotzdem an:

Private Sub Workbook_Open()
On Error Resume Next
If ThisWorkbook.ReadOnly Then
MsgBox ("Datei kann nicht erneut geöffnet werden, da bereits in Verwendung.")
ThisWorkbook.Close False
End If

Was kann ich hier noch ergänzend tun, Rudi?

Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Rudi Maintaire
Geschrieben am: 16.09.2020 10:20:05

Hallo,
von Select kann ich in dem Code nichts lesen.
Ist da noch mehr?

Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Lisa
Geschrieben am: 16.09.2020 10:29:45

Hi Rudi,

ja einiges, bei Workbook_BeforeClose taucht ein Select auf, das würde passen, da die Meldung nur beim Schließen aufploppt:

.
.
.
Application.ScreenUpdating = False
On Error Resume Next
neuezeit = Time + TimeSerial(0, 30, 0)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
Application.ScreenUpdating = True
Hinweis.Show
Sheets("AUSWAHL").Select
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
ActiveWindow.SmallScroll Up:=2000
Range("A1").Select

End Sub

Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Rudi Maintaire
Geschrieben am: 16.09.2020 10:32:26

Private Sub Workbook_Open()
   If ThisWorkbook.ReadOnly Then 
   MsgBox ("Die Datei kann aktuell nicht erneut geöffnet werden, da bereits von einem Nutzer in  _
 _
   Verwendung.")
application.enableevents=false
   ThisWorkbook.Close False
application.enableevents=true
   End If
   End Sub


Betrifft: AW: MsgBox wenn Datei sich nicht öffnet
von: Lisa
Geschrieben am: 16.09.2020 11:44:31

Besten Dank, Rudi!!! Funktioniert einwandfrei! :-)

Beiträge aus dem Excel-Forum zum Thema "MsgBox wenn Datei sich nicht öffnet"