Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mit Schleife prüfen, ob Datei existiert

Mit Schleife prüfen, ob Datei existiert
19.09.2003 12:58:14
Martin
Hallo,

ich hoffe jemand kann mir helfen.

Ich habe zwei Codes gefunden und möchte beide so vereinen, dass in einer Schleife geprüft wird, ob eine Datei existiert. Sobald sie existiert (sie wird in einer Prozedur von einer externen Anwendung generiert), soll die Schleife unterbrochen und eine entpsrechende MsgBox-Meldung erscheinen.

Habt Ihr eine Idee?

Hier der Code, der wartet bis eine Datei geschlossen ist und öffnet sie anschließend (also Praktisch die Schleife):

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


-----------------------------------------------------------------------------

Hier der Code, der prüft, ob die Datei vorhanden ist:

Dim Datei As String
Datei = "C:\sap-daten\auswertung.db"
If Dir(Datei) <> "" Then
MsgBox " Datei existiert"
End If

Danke im Voraus.

Viele Grüße und ein schönes Wochenende

Martin Kaiser

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Schleife prüfen, ob Datei existiert
19.09.2003 13:00:16
Hajo_Zi
Hallo Martin

warum Schleife???


Sub Datei_vorhanden()
'   von Berti Koern
Dim Fso, Dateiname
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "D:\Eigene Dateien\Hajo\Adresse.xls"
'   Egänzung öffnung Hajo
If Fso.FileExists(Dateiname) Then
Workbooks.Open Dateiname
End If
End Sub


Gruß Hajo
AW: Mit Schleife prüfen, ob Datei existiert
19.09.2003 13:09:10
Martin
Hallo Hajo,

danke für Deinen Code.

Ich benötige aber eine Schleife. Ich starte in EXCEL ein Modul, das verschiedene (Vor-)Arbeiten leistet. Parallel dazu generiert eine externe Software eine Datei. Irgendwann sind die Vorarbeiten des VBA-Modules abgeschlossen und ich muss auf die Ergebnisdatei der externen Software warten.

Da ich nicht weiß, wie lange die externe Software zur Generierung der Datei benötigt, möchte ich mit Hilfe in einer Schleife laufen prüfen, ob die Datei vorhanden ist, oder nicht.

Sobald sie vorhanden ist, erscheint eine Meldung und es werden die weiteren Prozeduren sowie die Abschlussarbeiten durchgeführt.

Grüße

Martin
Anzeige
AW: Mit Schleife prüfen, ob Datei existiert
19.09.2003 13:17:02
Martin
Hallo,

ich glaube ich habe es geschafft...EXCEL prüft alle 5 Sekunden, ob die Datei vorhanden ist, oder nicht. Wenn ja, dann kommt die Meldung.

Sub TestFileOpen()
Dim iOpen As Integer
Dim sFile As String
sFile = "c:\temp\ic_zip\fertig.txt"
Do While TestOpen(sFile) = 1
NeueStunde = Hour(Now())
NeueMinute = Minute(Now())
NeueSekunde = Second(Now()) + 5
WarteZeit = TimeSerial(NeueStunde, NeueMinute, NeueSekunde)
Application.Wait WarteZeit
Loop
MsgBox "vorhanden!"
End Sub


Private Function TestOpen(sPath As String) As Integer
If Dir(sPath) = "" Then
TestOpen = 1
Else
TestOpen = 2
End If
End Function


Oder ist das stark Verbesserungswürdig?

Grüße

Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige