Gruppe
Datei
Bereich
Öffnen
Thema
Warten, bis eine Datei geschlossen wird, dann öffnen
Problem
Es soll in einer Schleife geprüft werden, ob eine Datei bereits geöffnet ist. Sobald der Anwender, der die Datei in Benutzung hat, diese schließt, soll sie hier geöffnet werden.
Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: Modul1
Sub TestFileOpen()
Dim iOpen As Integer
Dim sFile As String
sFile = InputBox("Path and Filename:", , "c:\test\test.xls")
If sFile = "" Then Exit Sub
Do While TestOpen(sFile) = 1
Loop
Workbooks.Open sFile
End Sub
Private Function TestOpen(sPath As String) As Integer
If Dir(sPath) = "" Then
TestOpen = 2
Else
On Error GoTo ERRORHANDLER
Open sPath For Random Access Read Lock Read Write As #1
Close #1
End If
ERRORHANDLER:
If Err = 70 Then TestOpen = 1
End Function