In einem Modul von mir wird geprüft, ob eine Datei geöffnet ist oder nicht...
Funktioniert zu 90 %. Wenn ich dann den Code mit F8 durchgehe öffnet er mir an folgender Stelle die Datei NICHT:
Workbooks.Open "U:\Transitlager\" & Dateiname
Wobei Dateiname mir Test.xls belegt ist. Mal macht er es, mal nicht! Ist das irgendwie zu verstehen?
Ich bin am verzweifeln...
Vielen Dank für Anregungen
Gruß Mark
Hier mein kompletter Code:
Public Function IsFileOpen(ByRef Path As String) As Boolean
Dim FileNr As Integer
Dim ErrorNr As Long
'Datei testweise öffnen:
On Error Resume Next
FileNr = FreeFile
Open Path For Input Lock Write As #FileNr
ErrorNr = Err.Number
Close #FileNr
On Error GoTo 0
'Ggf. Fehler verarbeiten:
'On Error GoTo Ende
Select Case ErrorNr
Case 0 'kein Fehler:
'NOP
Case 70 'Permission denied':
IsFileOpen = True
Case Else 'sonstiger Fehler:
Err.Raise ErrorNr
End Select
Ende:
End Function
Function DateiPrüfen(Dateiname, DateiEnde)
On Error GoTo Ende
Dim Datei As Workbook
'Prüfen ob Datei geöffnet ist
DateiEnde = 0
Geprüft = 0
For i = 1 To 10
If IsFileOpen("U:\Testdaten\" & Dateiname) = True Then
'Wenn Datei in Bearbeitung ist:
For Each Datei In Workbooks
If Datei.Name = Dateiname Then
Geprüft = 1
Exit Function
Else
End If
Next
If Geprüft = 0 Then
Exit Function
Else
DateiEnde = DateiEnde + 1
End If
Else
'Wenn Datei ungeöffnet ist
Workbooks.Open "U:\Transitlager\" & Dateiname
End If
Next i
Ende:
End Function