Überprüfen, ob Datei geöffnet ist
15.09.2008 11:02:00
Florian
ich habe einen Code, der duch folgende Function prüft, ob eine Datei, die hinter dem Hyperlink liegt, geöffnet ist oder nicht!
Hier die Funktion:
Public Enum XL_FILESTATUS
XL_UNDEFINED = -1
XL_CLOSED
XL_OPEN
XL_DONTEXIST
End Enum
Public Function FileStatus(xlFile As String) As XL_FILESTATUS
'FUNKTION zur Überprüfung, ob Datei hinter Hyperlink geöffnet ist, oder nicht!
On Error Resume Next
Dim File%: File = FreeFile
Err.Clear
Open xlFile For Input Access Read Lock Read As #File
Close #File
Select Case Err.Number
Case 0: FileStatus = XL_CLOSED
Case 70: FileStatus = XL_OPEN
Case 76: FileStatus = XL_DONTEXIST
Case Else: FileStatus = XL_UNDEFINED
End Select
End Function
Hier der Code, der überprüft, ob Datei (Hyperlink in Range AH12) geöffnet ist, oder nicht:
Sub ÜBERPRÜFEN_DB_DV()
Dim result As XL_FILESTATUS
With Range("AH12").Hyperlinks(1)
result = FileStatus(.Address)
If result = XL_CLOSED Then
Worksheets("Durchschreibe").Range("AH2").Value = "geschlossen"
ElseIf result = XL_OPEN Then
Worksheets("Durchschreibe").Range("AH2").Value = "geöffnet"
Else
Worksheets("Durchschreibe").Range("AH2").Value = "nicht gefunden"
End If
End With
End Sub
Dieser Code hat mal funktioniert, jetzt aber komischerweise nicht mehr! Kann es daran liegen, das ich von Excel 2000 auf Excel 2003 umgestiegen bin.
Als Ergebnis in der Zelle AH2, steht jetzt nur noch "nicht gefunden". Die Datei, die hinter dem Hyperlink in AH12 ist, ist eine TXT-Datei, die auf jeden Fall vorhanden ist.
Vielleicht kommt ja jemand von Euch drauf, wo der Fehler liegt?
Ich bin mit meinem Latein am Ende.
Lieben Danke für Eure Hilfe!
mfg
Florian