Ist die Datei xyz.xls* geöffnet?
Manchmal ist es erforderlich, dass per VBA-Code festgestellt wird, ob eine bestimmte Datei (Excel oder kompatibel wie beispielosweise *.csv) geöffnet ist oder nicht. Folgender Code hilft Ihnen das festzustellen:
Sub IstDateiGeoeffnet()
Dim wbkDatei As Workbook
On Error Resume Next
Set wbkDatei = Workbooks(„Dateiname.xlsx”)
On Error GoTo 0
If Not wbkDatei Is Nothing Then
MsgBox „Datei ist geöffnet”
Else
MsgBox „Datei ist nicht geöffnet”
End If
End Sub
Sie können den Code entweder mit Copy/Paste in Ihr Modul einfügen (dann allerdings ohne Einrückungen) oder hier als Klassenmodul-Datei zum Import herunterladen. Ich empfehle die letztgenannte Möglichkeit, lassen Sie bitte nicht von der schwierig klingenden Namensgebung irritieren.
Selbstverständlich werden Sie in den meisten Fällen keine MessageBox verwenden, sondern die Information in einer Variablen speichern und weiter verarbeiten. Und noch ein Hinweis zum obigen Code: Ja, er lässt sich kürzer und „eleganter” fassen, aber so können auch Einsteiger davon profitieren.