Öffnen einer externen Datei mit VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Öffnen einer externen Datei mit VBA
von: Julie
Geschrieben am: 02.12.2003 13:14:54

Hallo Forum,

wie öffne ich mittels VBA aus einer Datei eine andere Datei, die NICHT im gleichen Verzeichnis liegt. Muss ich dann den ganzen Pfad angeben?

Hiemit stimmt nämlich was nicht...

Workbook("\\ordner1\ordner2\ordner3\aktuelle_kosten.xls').Worksheets("Plan-Ist-Kosten").Open

Danke,
Julie

Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: xXx
Geschrieben am: 02.12.2003 13:20:34

Hallo,
der ganze Befehl ist falsch!

Workbooks.Open "\\ordner1\ordner2\test.xls"

Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S. Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter!


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Julie
Geschrieben am: 02.12.2003 13:28:06

Hallo Udo,

peinlich... danke!

Kannst Du mir sagen, wie eine Abfrag vor dam Öffnen-Befehl lauten muss, die überprüft, ob die Datei schon geöffnet ist?
Man kriegt nämlich sonst ne unschöne Fehlermeldung, falls die Datei schon offen ist...

Danke nochmals,
Julie


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: xXx
Geschrieben am: 02.12.2003 13:37:52

Hallo,


Sub testMappe()
Dim W
  For Each W In Workbooks
    If W.Name = "Test.xls" Then
      MsgBox "Datei bereits geöffnet"
      Exit Sub
    End If
  Next
  MsgBox "Alles OK"
End Sub


Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S. Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter!


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Julie
Geschrieben am: 02.12.2003 14:05:52

Hey Udo,

danke, ich hab's eingebaut. Die Fehlermeldung krieg ich nicht mehr, aber komisch ist es doch, weil die If-Schleife nie betreten wird, obwohl ich auch mehrmals den Versuch mit schon geöffneter Datei gemacht habe.

W.g. keine Fehlermeldung, aber es wird trotzdem immer die Sanduhr gezeigt, dass die Datei geöffnet wird?! Warum ist das so? Wieso sieht Excel nicht, dass die Datei schon offen ist? Der Dateinamen stimmt. Muss ich bei der If-Bedingung wieder den ganzen Pfad angeben?

Julie


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Otto Ecker
Geschrieben am: 02.12.2003 15:00:08

Hallo Julie,

anstelle dem MsgBox "Alles OK" setzte Workbook.open.... ein und anstelle dem MsgBox "Datei bereits geöffnet" setze ein w.activate

:-)

Gruß Otto


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Julie
Geschrieben am: 02.12.2003 16:01:00

Hallo Otto,

sehr lustig... ;-) aber so weit hatte ich sogar schon gedacht:
ABER:
Mit folgendem Code geht Excel NIE ins erste IF sondern IMMER ins ELSE obwohl die Datei schon geöffnet ist?!

Verstehst Du das?

Julie



Sub Tabellenblatt_Akt()
    Application.ScreenUpdating = False
    
   Dim X As Workbook
   For Each X In Workbooks
     If X.Name = "akt_Datei.xls" Then
        MsgBox "wird nur aktiviert..."
        Workbooks("akt_Datei.xls").Worksheets("akt_Blatt").Activate
        Exit Sub
     Else
        MsgBox "wird neu geöffnet..."
        Workbooks.Open "\\ordner1\ordner2\ordner3\akt_Datei.xls"
        ActiveWorkbook.Worksheets("akt_Blatt").Activate
     End If
   Next
End Sub



Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Otto Ecker
Geschrieben am: 02.12.2003 16:20:18

Hallo Julie,

das liegt daran, dass Du akt_Datei... mit akt_datei... vergleichst.


Sub Tabellenblatt_Akt()
    Application.ScreenUpdating = False
    
   Dim X As Workbook
   For Each X In Workbooks
     If UCase(X.Name) = UCase("akt_Datei.xls") Then
        MsgBox "wird nur aktiviert..."
        Workbooks(X.Name).Activate
        Exit Sub
     Else
        MsgBox "wird neu geöffnet..."
        Workbooks.Open "\\ordner1\ordner2\ordner3\akt_Datei.xls"
        ActiveWorkbook.Worksheets("akt_Blatt").Activate
     End If
   Next
End Sub


...sollte gehen.

Gruß Otto :-)


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Julie
Geschrieben am: 03.12.2003 09:15:08

Hallo Otto,

logisch sollte man meinen Du hättest Recht... ich habe den Code EXACT so übernommen, aber der IF-Teil wird nie betreten... ich bekomme IMMER die Meldung "wird neu geöffnet" des Else-Zweigs.

Aber das stimmt so auch nicht, denn die Datei wird nicht immer neu geöffnet. Ich habe also keine 10 Fenster mit der gleichen Datei offen, sondern (anscheinend) wird sie immer erst geschlossen und dann wieder geöffnet. Und das sieht man hier: Wenn sehr viele Fenster offen sind, summiert XP die Excel Fensterchen in einer Gruppe und in der Taskleiste steht dann neben dem Excel-Symbol die Anzahl an geöffneten Excel-Fenstern. Wenn ich z.B. 4 offen habe (unter anderem auch die Datei, die ich mit dem Makro öffnen will), und ich führe das Makro aus, dann wird die 4 kurz zur 3 und dann wieder zur 4. Also wird die Datei wohl erst geschlossen und dann wieder geöffnet.

Aber warum? Ich gebe doch nirgends den Befehl dazu??

Julie?!?!


Bild


Betrifft: AW: Öffnen einer externen Datei mit VBA
von: Otto Ecker
Geschrieben am: 05.12.2003 16:37:08

Hallo Julie,

das kann ich so nicht nachvollziehen. Wenn Du möchtest, dann wirf alles Vertrauliche aus Deiner Datei raus und poste sie hier ins Forum oder an meine E-Mail. Ich antworte dann hier im Forum.

Gruß Otto


Bild

Beiträge aus den Excel-Beispielen zum Thema " Öffnen einer externen Datei mit VBA"