Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA Funktion Datei öffnen

Forumthread: VBA Funktion Datei öffnen

VBA Funktion Datei öffnen
12.04.2017 00:59:21
Michael
Hallo,
ich habe ein Problem mit dieser Funktion. Sie Funktioniert ganz gut, solange sich die Datei öffnen lässt. Lässt sich die Datei nicht öffen, hänge ich in der Endlos Schleife.
Gibt es die möglich keine, dies so umzubauen das es ohne die Do-Loop Schleife läuft?
Function Tabelle_oeffnen(Tabellenname As String, Pfad As String)
If Dir(Pfad & Tabellenname)  "" Then
On Error Resume Next
Workbooks.Open Filename:=Pfad & Tabellenname, ReadOnly:=True
geladen = False
Do
For Each WB In Workbooks
If WB.Name = Tabellenname Then geladen = True
Next WB
Loop Until geladen = True
Else
MsgBox ("Die Datei existiert nicht")
End If
End Function
Danke
Gruß
Michael
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Funktion Datei öffnen
12.04.2017 06:39:22
Oberschlumpf
Hi Michael
Wozu brauchst du eine Do/Loop-Schleife? Das, was du wissen willst, liefert doch allein schon die For/Each-Schleife.
Versuch mal das hier:
Function Tabelle_oeffnen(Tabellenname As String, Pfad As String)
If Dir(Pfad & Tabellenname)  "" Then
On Error Resume Next
Workbooks.Open Filename:=Pfad & Tabellenname, ReadOnly:=True
geladen = False
For Each WB In Workbooks
If WB.Name = Tabellenname Then geladen = True
Next WB
If geladen = False Then MsgBox "Die Datei existiert nicht"
Else
MsgBox ("Die Datei existiert nicht")
End If
End Function

Hilfts?
Ciao
Thorsten
Anzeige
AW: VBA Funktion Datei öffnen
12.04.2017 16:39:37
Michael
Hallo Thorsten,
danke
ich werde es mal testen.
Gruß
Michael
AW: VBA Funktion Datei öffnen
12.04.2017 17:16:48
Michael
Hallo Thorsten,
mit der Schleife sollte sichergestellt werden das auf jedem Fall die Datei geladen wird.
Kann die Datei momentan nicht geladen werden, soll es ein paar Minuten später neu versucht werden.
Eine Fehlermeldung solle nur kommen, wenn es die Datei wirklich nicht mehr gibt.
Danke
Gruß
Michael
Anzeige
AW: VBA Funktion Datei öffnen
12.04.2017 21:33:48
Oberschlumpf
Hi Michael
Eigtl würde dieser Code shcon recichen:
Function Tabelle_oeffnen(Tabellenname As String, Pfad As String)
If Dir(Pfad & Tabellenname)  "" Then
Workbooks.Open Filename:=Pfad & Tabellenname, ReadOnly:=True
Else
MsgBox "Die Datei existiert nicht"
End If
End Function

Wenn dir(...) = "" dann ist die Datei NIE im Pfad vorhanden.
Ciao
Thorsten
Anzeige
AW: VBA Funktion Datei öffnen
12.04.2017 22:54:57
Michael
Hallo Thorsten,
Ich lasse die Datei auf einen Fernseher laufen, wo immer wieder die Werte aktualisiert werden.
Da sollen natürlich keine Fehlermeldungen oder Abbrüche zusehen sein.
Deshalb muss sichergestellt werden dass die Macro weiterläuft auch wenn die geladene Datei, aus welchen Gründen auch immer, momentan nicht geöffnet werden kann.
Kann hinter "Else" noch Application.OnTime Now + TimeValue("00:02:00"), "Tabelle_oeffnen"?
oder was anders, so das es zu keinem Abbruch kommen kann.
Function Tabelle_oeffnen(Tabellenname As String, Pfad As String)
If Dir(Pfad & Tabellenname)  "" Then
Workbooks.Open Filename:=Pfad & Tabellenname, ReadOnly:=True
Else
MsgBox "Die Datei existiert nicht" (Hab ich noch aus Testzeiten drin)
End If
End Function

Danke
Gruß
Michael
Anzeige
AW: VBA Funktion Datei öffnen
13.04.2017 10:54:42
Oberschlumpf
Hi Michael,
leider kenne ich auch keine Lösung, die immer wieder mal nach "DateiXY" fragt.
Ciao
Thorsten

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige