19.11.2019, 11:21
Hallo miteinander,
gern würde ich prüfen, ob eine Datei offen steht.
ich habe nun gefühlte 20 Codes aus dem inet durch. Jedoch kommt entweder immer die Antwort "Datei steht offen" oder immer "Datei ist geschlossen"
Diese beiden hier habe ich als Bsp angefügt.
Datei immer offen:
Datei immer geschlossen:
Wie kann das sein?
Bzw was kann ich tun damit das richtig erkannt wird?
Liebe Grüße
Klaus
gern würde ich prüfen, ob eine Datei offen steht.
ich habe nun gefühlte 20 Codes aus dem inet durch. Jedoch kommt entweder immer die Antwort "Datei steht offen" oder immer "Datei ist geschlossen"
Diese beiden hier habe ich als Bsp angefügt.
Datei immer offen:
Code:
Private Function DateiGeoeffnet(DerPfad As String) As Boolean
' Bei shared Workbooks, schreibgeschützten Mappen o.ä.. kann dies auch ein falsch zurückgeben.
On Error Resume Next
Open DerPfad For Binary Access Read Lock Read As #1
Close #1
If Err.Number <> 0 Then
DateiGeoeffnet = True
Err.Clear
End If
End Function
Code:
Public Sub datei_geöffnet_prüfung()
Dim sPfad As String
sPfad = "G:\ordner1\ordner2\test1.xlsm" ' Pfad ändern für Tests
MsgBox "datei steht offen", DateiGeoeffnet(sPfad)
End Sub
Datei immer geschlossen:
Code:
Function IsFIleOpen(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Err = 0 And Not wkb Is Nothing Then
IsFIleOpen = True
End If
On Error GoTo 0
End Function
Code:
Sub Prüfung()
Dim sFile As String
sFile = "G:\ordner1\ordner2\test1.xlsm"
If IsFIleOpen(sFile) Then
MsgBox "Geöffnet"
Else
MsgBox "Nicht geöffnet"
Exit Sub
End If
End Sub
Wie kann das sein?
Bzw was kann ich tun damit das richtig erkannt wird?
Liebe Grüße
Klaus