Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei öffnen

Datei öffnen
30.06.2008 16:28:25
Georg
Hallo Excel Welt,
ich steh mal wieder auf dem Schlauch und das Archiv kann mir auch nicht wirklich weiter helfen, auch wenn es garnicht so schwer sein kann:
Also ich habe wöchentlich zwei Dateien, die an der gleichen Stelle in gleichen Ordner liegen. Die erste Datei habe ich offen und lasse ein Makro drüber laufen. Teil des Makros ist, aus der zweiten Datei Infos in die erste zu ziehen. Bislang habe ich das über das Fenster "Datei öffnen" gemacht und hatte schon den korrekten Pfad mitgegeben. Das will ich jetzt sparen und das Makro soll automatisch die zweite Datei in dem Verzeichniss öffnen. Wobei der Name dieser zweiten Datei sich ändern kann.
In Kurz: Ablagepfad ist bekannt, aber der Name nicht. Wie mach ich das?
Danke Euch allen
Georg

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

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen
30.06.2008 17:18:00
Chris
Servus Georg,
liegen mehrere Dateien in dem Pfad, aus dem die 2. Datei geöffnet werden soll, oder ist das immer nur eine mit wechselndem Namen ?
Gruß
Chris

AW: Datei öffnen
30.06.2008 17:23:22
Georg
Hallo Chris,
letzteres - es sind genau zwei Dateien an der Stelle. Die eine ist bereits offen und die zweite soll geöffnet werden, hat aber immer verschiedene Namen.
Danke Georg

AW: Datei öffnen
30.06.2008 17:30:00
Chris
Servus,
dann probier mal das:

Sub finde_und_oeffne()
Dim strPfad As String, iDateien As Integer, strDateiName As String, strDateipfad As String
strPfad = "C:\..." ' Hier dein Pfad anpassen
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = strPfad
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute() > 0 Then
For iDateien = 1 To .FoundFiles.Count
strDateiName = Dir(.FoundFiles(iDateien))
strDateipfad = .FoundFiles(iDateien)
If strDateiName  ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(iDateien)
' Hier dein Makro zum Daten ziehen
Workbooks(strDateiName).Close
End If
Next
End If
End With
End Sub


Gruß
Chris

Anzeige
Klappt Danke! owT
30.06.2008 17:42:00
Georg
:-)

AW: kleiner Nachtrag
30.06.2008 18:14:00
Chris
Servus Georg,
nimm lieber das:
.SearchSubFolders = True raus, falls noch evtl. ein Unterordner besteht, sonst öffnet das Makro diese Dateien auch, was zu unerwünschten Fehlern führen kann.
Gruß
Chris

Noch eine Möglichkeit.
30.06.2008 19:09:59
Tino
Hallo,
hier mal noch eine andere Möglichkeit, um den Versions-Konflikt zu E2007 zu umgehen.
Kommentare stehen im Makro

Option Explicit
Sub SchleifeDurchOrdner()
Dim Pfad$, FName$
'ist der Pfad wo sich Deine Exceldatei befindet
Pfad = _
IIf(Right$(ThisWorkbook.Path, 1) = "\", _
ThisWorkbook.Path, ThisWorkbook.Path & "\")
'welche Dateien sollen gesucht werden, hier Exceldateien "*.xls"
'eventuell weitere Einschränkungen mit Platzhalter
'Bsp.:  "Ma*.xls", "Mappe?.xls"
FName = Dir(Pfad & "*.xls")
'Schleife bis keine Datei mehr gefunden wird
While FName  ""
'    Abfrage ob diese Datei die geöffnete ist
If FName  ThisWorkbook.Name Then
'*hier Dein Makro, Name der Datei = FName         *
End If
'nächste Datei im Pfad
FName = Dir()
Wend
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige