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

Datei öffnen - aber warten !

Forumthread: Datei öffnen - aber warten !

Datei öffnen - aber warten !
13.09.2006 17:00:29
Fabio
Hallo,
ich will, das ich innerhalb von Excel eine Datei öffne (per Script - auswähle und dann öffne) - bevor Excel dann die weiteren Schritte ausführt, soll
-> gewartet werden bis die Datei auf ist
-> und dann erst die weiteren schritte ausgeführt werden
Problem :
-> er öffnet nicht (es geht zwar das Fentster mit den Dateien auf - ich kann auch auf "öffnen" klicken - nur öffnet der die nicht)
-> wie bekomme ich die "pause" hin, sprich das die weiteren Makroschritte
erst ausgeführt werden, wenn die Datei offen ist
Danke
Fabio

Sub Öffnen()
ChDir "\"
ChDrive "O:\"
ChDir "Tore_20006"
Dateiname = Application.GetOpenFilename _
("Micrsoft Excel-Dateien (*.xls),*.xls")
If Dateiname = False Then Exit Sub
MsgBox "Ihre Auswahl wird geöffnet:" & vbNewLine & Dateiname
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen - aber warten !
13.09.2006 17:07:10
Josef
Hallo Fabio!
Warten ist nicht notwendig, weil VBA ohnehin mit der Ausführung des weiteren Codes wartet (warten muss), bis die Datei geöffnet ist.
Sub Öffnen()
Dim strFile As Variant

ChDir "\"
ChDrive "O:\"
ChDir "Tore_20006"
strFile = Application.GetOpenFilename _
  ("Micrsoft Excel-Dateien (*.xls),*.xls")

If strFile = False Then Exit Sub

Workbooks.Open strFile

End Sub



Gruß Sepp

Anzeige
Funktioniert - Ergänzung ?
14.09.2006 09:31:46
Fabio
Hallo Sepp,
vielen Dank! Jetzt funktioniert das.
Ergänzungsfrage (weil ich das System gerne verstehen würde) - wie müsste der Code aussehen, wenn "der Name der Datei" die ich öffnen will, im der Zelle A3 steht ?
Dann müsste ich das wohl ändern :
strFile = Application.GetOpenFilename _
(aber wie auf strFile = A3)
(in A3 steht dann zum Beispiel : TorDifferenz36.xls
(den Pfad definiere ich ja zuvor)
Danke !
Fabio
Anzeige
AW: Funktioniert - Ergänzung ?
14.09.2006 09:36:17
Josef
Hallo Fabio!
strFile = "O:\Tore_2006\" & Range("A3").Text

Gruß Sepp

Anzeige
Danke- aber wie wieder Stoppen ? Rundlauf ?
14.09.2006 10:04:53
Fabio
Servus Sepp,
vielen Dank !
Meine Frage ist aber nun, wie "stoppe" ich das Makro/VBA, wenn die Datei (warum auch immer - z.B. Netzlaufwerk nicht da etc.) nicht geöffent werden kann ?
An "Dein" Makro habe ich ja noch weitere angehängt - das funktioniert auch. Problem ist nur, wenn die Datei (warum auch immer) nicht geöffnet werden kann.
Dann hätte ich gerne eine kurze "Text" (PopUp) mit dem Hinweis "Vorgang gestoppt - Datei "(name der in A3 steht) kann nicht geöffnet werden. Die weiteren Makros dürfen dann nicht ausgeführt werden.
Danke !
Fabio
Anzeige
jetzt auch Fehlermeldung "400" bzw. "1004"
14.09.2006 10:24:07
Fabio
Servus Sepp,
vielen Dank !
Meine Frage ist aber nun, wie "stoppe" ich das Makro/VBA, wenn die Datei (warum auch immer - z.B. Netzlaufwerk nicht da etc.) nicht geöffent werden kann ?
An "Dein" Makro habe ich ja noch weitere angehängt - das funktioniert auch. Problem ist nur, wenn die Datei (warum auch immer) nicht geöffnet werden kann.
Dann hätte ich gerne eine kurze "Text" (PopUp) mit dem Hinweis "Vorgang gestoppt - Datei "(name der in A3 steht) kann nicht geöffnet werden. Die weiteren Makros dürfen dann nicht ausgeführt werden.
Danke !
Fabio
N.S. Beim ersten Test des Makros :

Sub Öffnen()
Dim strFile As Variant
ChDir "\"
ChDrive "O:\"
ChDir "Tore_20006"
strFile = "O:\Tore_2006\" & Range("A3").Text
If strFile = False Then Exit Sub
Workbooks.Open strFile
End Sub

Bricht er an der Stelle open strFile - mit Fehler 400 ab. Obwohl in "a3" der Name der Datei steht..hmmm ?
Fabio
Anzeige
AW: jetzt auch Fehlermeldung "400" bzw. "1004"
14.09.2006 10:31:36
Josef
Hallo Fabio!
So wird geprüft, ob die datei vorhanden ist.
Sub Öffnen()
Dim strFile As String


strFile = "O:\Tore_2006\" & Range("A3").Text

If Dir(strFile) = "" Then
  MsgBox "Datei nicht gefunden"
  Exit Sub
Else
  Workbooks.Open strFile
End If

End Sub


Gruß Sepp

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel-Dateien öffnen und sicherstellen, dass sie bereit sind


Schritt-für-Schritt-Anleitung

Um eine .xls Datei in Excel zu öffnen und sicherzustellen, dass sie bereit ist, kannst Du folgenden VBA-Code verwenden:

Sub Öffnen()
    Dim strFile As String
    ChDrive "O:\"
    ChDir "Tore_20006"
    strFile = Application.GetOpenFilename("Microsoft Excel-Dateien (*.xls),*.xls")
    If strFile = False Then Exit Sub
    Workbooks.Open strFile
End Sub

Mit diesem Skript wird ein Dialogfeld geöffnet, in dem Du die gewünschte Excel-Datei auswählen kannst. Sobald die Datei ausgewählt ist, wird sie geöffnet und der Code wartet bis die Datei geladen ist, bevor er mit den weiteren Schritten fortfährt.


Häufige Fehler und Lösungen

  1. Fehler 400 oder 1004 beim Öffnen der Datei

    • Dieser Fehler tritt auf, wenn die Datei nicht gefunden wird oder der Pfad falsch ist. Überprüfe den Pfad und stelle sicher, dass die Datei existiert.
    • Verwende den folgenden Code zur Fehlerbehandlung:
    If Dir(strFile) = "" Then
       MsgBox "Datei nicht gefunden"
       Exit Sub
    Else
       Workbooks.Open strFile
    End If
  2. Datei öffnet sich nicht

    • Stelle sicher, dass der verwendete Pfad korrekt ist. Du kannst den Pfad dynamisch aus einer Zelle beziehen, z.B. strFile = "O:\Tore_2006\" & Range("A3").Text.

Alternative Methoden

Eine weitere Methode, um Excel-Dateien zu öffnen, ist die Verwendung von Hyperlinks oder Schaltflächen in Deinem Excel-Arbeitsblatt. Du kannst ein Makro zuweisen, das beim Klicken auf einen Button das Öffnen einer Datei initiiert.

Hier ist ein Beispiel:

Sub DateiÖffnenÜberButton()
    Dim strFile As String
    strFile = "O:\Tore_2006\" & Range("A3").Text
    If Dir(strFile) = "" Then
        MsgBox "Die Datei kann nicht gefunden werden."
    Else
        Workbooks.Open strFile
    End If
End Sub

Praktische Beispiele

Stelle Dir vor, Du möchtest eine Excel-Datei öffnen, deren Name in Zelle A3 steht. Der folgende Code liest den Namen aus A3 und öffnet die entsprechende Datei:

Sub Öffnen()
    Dim strFile As String
    strFile = "O:\Tore_2006\" & Range("A3").Text
    If Dir(strFile) = "" Then
        MsgBox "Vorgang gestoppt - Datei " & Range("A3").Text & " kann nicht geöffnet werden."
        Exit Sub
    End If
    Workbooks.Open strFile
End Sub

Tipps für Profis

  • Verwende On Error-Anweisungen, um unerwartete Fehler abzufangen und benutzerfreundliche Fehlermeldungen anzuzeigen.

  • Optimierung der Ladezeiten: Wenn Du große Excel-Dateien öffnest, überlege, ob Du die Berechnung im Hintergrund deaktivieren kannst.

  • Verwende .xlsm-Dateien für Makros: Stelle sicher, dass Du die richtige Dateiendung verwendest, um sicherzustellen, dass Deine Excel-Makros korrekt funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich eine .xls Datei öffnen? Du kannst eine .xls Datei öffnen, indem Du den VBA-Befehl Workbooks.Open verwendest, gefolgt vom Pfad und Dateinamen.

2. Wie kann ich den Dateinamen dynamisch aus einer Zelle beziehen? Verwende den Code strFile = "O:\Tore_2006\" & Range("A3").Text, um den Dateinamen aus Zelle A3 zu beziehen.

3. Was mache ich, wenn die Datei nicht geöffnet werden kann? Füge eine Fehlerbehandlung hinzu, die eine entsprechende Meldung ausgibt, wenn die Datei nicht vorhanden ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige