Im Windows Script Hosting gibt es keine Funktion um zu prüfen ob eine bestimmte Datei schon geöffnet ist.
Über die Funktion OpenTextFile kann dies ermöglicht werden.
Aber nicht alle Programme sperren die Datei wenn sie durch die Anwendung geöffet wurde (z.B. Notepad).
OpenTextFile
Option Explicit Dim f Dim sFile ' Hier den Dateinamen eintragen. ' ------------------------------ sFile = "c:\tmp\test.txt" ' ------------------------------ Function IsFileOpen(sFileName) Dim oFSO, f Dim iErrNum Const ForAppending = 8 Const ForReading = 1 Set oFSO = CreateObject("Scripting.FileSystemObject") On Error Resume Next ' Fehlerprüfung abschalten. ' Versuch die Datei gesperrt zu öffnen . Set f = oFSO.OpenTextFile(sFileName, ForAppending, False) iErrNum = Err.Number ' auftretende Fehler-Nummer sichern. f.Close ' Datei schließen. On Error Goto 0 ' Error-Prüfung wieder einschalten. ' Auftetende Fehlernummer herausbekommen. Select Case iErrNum Case 0 'Kein Fehler ist aufgetreten. 'Datei ist bis jetzt NICHT durch eine andere Anwendung geöffnet. IsFileOpen = False Case 70 'Feher-Nummer (Error number) für "Zugriff verweigert" 'Datei ist schon durch eine andere Anwendung geöffnet. IsFileOpen = True Case Else ' Sonstiger auftretender Fehler. Err.Raise iErrNum End Select End Function ' Aufruf der Funktion f = IsFileOpen(sFile) MsgBox f