AW: In VBA prüfen, ob Datei geöffnet ist
11.09.2007 13:06:00
Hajo_Zi
Hallo Thomas,
Option Explicit
' auf der Grundlage _
http://www.excel-center.de/forum/read.php?f=1&i=68240&t=68145
' nicht mehr aktiv
Public Function IsFileLocked(strFileName As String) As Boolean
On Error Resume Next
Dim FF As Integer
FF = FreeFile
'An error occurs if the document is currently open.
Open strFileName For Binary Access Read Lock Read As #FF
Close #FF
'Check for Error
If Err.Number Then
Err.Clear
IsFileLocked = True
End If
End Function
Function LastUser(strFileName As String) As String
Dim strText As String
Dim strFlag1 As String, strFlag2 As String
Dim i As Integer, j As Integer
strFlag1 = Chr(0)
strFlag2 = Chr(32) & Chr(32)
Open strFileName For Binary As #1
strText = Space(LOF(1))
Get 1, , strText
Close #1
j = InStr(1, strText, strFlag2)
i = InStrRev(strText, strFlag1, j) + Len(strFlag1)
LastUser = Mid(strText, i, j - i)
End Function
Sub test()
Dim PfadFKC As String
' Pfad für LoanBook aufnehmen
' Worksheets("Daten").Visible = True
' Worksheets("Daten").Select
PfadFKC = Worksheets("Daten").Cells(49, 2)
If IsFileLocked(PfadFKC) = True Then
MsgBox ("Es ist ein Fehler beim Export in das Loanbook aufgetreten. " _
& "Dies kann daran liegen, dass es aktuell bereits von einem anderen " _
& "User benutzt wird. Bitte versuchen Sie es gleich nochmal.")
Else
' Worksheets("Daten").Visible = False
' In fkc speichern
' Plausi ob Loan Book schreibgeschützt
' On Error GoTo Fehler
' Datei öffen
Workbooks.Open (PfadFKC)
Workbooks("loanbook.xls").Activate
End If
End Sub