Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Warten, bis eine Datei geschlossen wird, dann öffnen

Gruppe

Ö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