Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bestimmte Dateien öffnen und Makro ausführen

Bestimmte Dateien öffnen und Makro ausführen
23.11.2006 16:47:03
Peter
Guten Abend
Ich habe in einem Folder verschiedene Dateien, in deren Namen der String "Erfassungstool" enthalten ist und andere Dateien.
Nun möchte ich aus einem anderen Excel-File einen Makro starten, der mir die Dateien, die den String "Erfassungstool" enthalten öffnen, dann eine bestimmte Aktion ausführen (zum Beispiel dem Namen "_JAHR" die Zahl "2007" zuordnen, die Datei speichern und schliessen.
Wie kann die Dateien in einem Ordner selektiv öffnen, bearbeiten und schliessen?
Danke für eine Rückmeldung.
Peter

Sub DatenUpdaten()
Dim aBook As Workbook
Dim aSheet As Worksheet
Dim zNr As Long
solange nicht alle Dateien abgearbeitet wurden
DATEI OEFFNEN
Set aBook = ThisWorkbook
Set aSheet = aBook.ActiveSheet
NAMEN neuen WERT ZUORDNEN
Datei speichern und schliessen
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Dateien öffnen und Makro ausführen
23.11.2006 17:03:14
UweD
Hallo
bin schon auf dem Sprung..
Deshalb hier ein Ansatz um nur diese Dateien abzuarbeiten.
Rest... speichern unter usw. mußt du noch selbst austüfteln...

Sub alle_Dateien_Verzeichnis() '
Dim Pfad$, Ext$, Datei$
Pfad = "C:\Temp\" 'Pfad des Verzeichnisses ggf. anpassen
Ext = "*Erfassungstool*.xls"       'Dateiextension ggf. anpassen
If Pfad = "" Then
Exit Sub
Else
Datei = Dir(Pfad & Ext)
Do While Len(Datei) > 0
Workbooks.Open Filename:=Pfad & Datei
'mach was damit
Workbooks(Datei).Close SaveChanges:=False
Datei = Dir() ' nächste Datei
Loop
End If
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Bestimmte Dateien öffnen und Makro ausführen
24.11.2006 08:47:06
Peter
Hallo Uwe
Vielen Dank für den Input.
Die Auswertung der Codezeile "Datei = Dir(Pfad & Ext)" ergibt nichts "", so dass das Makro jeweils beendigt wird.
Im entsprechenden Ordner sind unter anderem die Dateien Erfassungstool_1.xls, Kopie von Erfassungstool_1.xls und Kopie (2) von Erfassungstool_1.xls enthalten.
Da bin ich ziemlich am Ende meines Lateins - kann mir da jemand weiterhelfen?
Danke
Peter
Option Explicit

Sub alle_Dateien_Verzeichnis() '
Dim Pfad$, Ext$, Datei$
Pfad = Application.ThisWorkbook.Path
Debug.Print Pfad
'Pfad = "C:\Temp\" 'Pfad des Verzeichnisses ggf. anpassen
Ext = "*Erfassungstool*.xls"       'Dateiextension ggf. anpassen
Debug.Print Ext
If Pfad = "" Then
Exit Sub
Else
Datei = Dir(Pfad & Ext)
Debug.Print Datei
Do While Len(Datei) > 0
Workbooks.Open Filename:=Pfad & Datei
'mach was damit
Sheets("Tabelle1").Activate
Range("A1").Value = "Danke"
Workbooks(Datei).Close SaveChanges:=True
Datei = Dir() ' nächste Datei
Loop
End If
End Sub

Anzeige
AW: Bestimmte Dateien öffnen und Makro ausführen
24.11.2006 09:27:24
UweD
Hallo Peter
Du hast die Zeile 'Pfad = "C:\Temp\"'
auskommentiert.
Dann kann nichts gefunden werden.
Ich habe die 3 Dateien, die du genannt hast in c:\temp\ erzeugt und das makro läuft wunderbar.
Übrigens auf activate und select kann meist verzichtet werden...

Sub alle_Dateien_Verzeichnis() '
Dim Pfad$, Ext$, Datei$
Pfad = Application.ThisWorkbook.Path
Debug.Print Pfad
Pfad = "C:\Temp\" 'Pfad des Verzeichnisses ggf. anpassen
Ext = "*Erfassungstool*.xls"       'Dateiextension ggf. anpassen
Debug.Print Ext
If Pfad = "" Then
Exit Sub
Else
Datei = Dir(Pfad & Ext)
Debug.Print Datei
Do While Len(Datei) > 0
Workbooks.Open Filename:=Pfad & Datei ' Diese Datei ist dann die aktive
'mach was damit
Sheets("Tabelle1").Range("A1").Value = "Danke"
Workbooks(Datei).Close SaveChanges:=True
Datei = Dir() ' nächste Datei
Loop
End If
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
ich nochmal
24.11.2006 09:31:07
UweD
Hallo
habe gerade erst gesehen, das du weiter oben den Pfad ausliest.
Wenn deine Datei noch nicht gespeichert ist, dann ist ThisPath noch ""
Gruß UweD
(Rückmeldung wäre schön)
AW: ich nochmal
24.11.2006 10:31:58
Peter
Hallo Uwe
Das Problem liegt nicht bei der Variable Pfad (die habe ich mit debug.print abgefragt), sondern bei der Zeile
Datei = Dir(Pfad & Ext)
die Variable Datei enthält keinen Wert (durch Abfrage Debug.Print Datei festgestellt), obschon sowohl der die Variable Pfad und Ext mit Debug.print einen Wert ausgeben.
Gruss, Peter
jetzt hab ichs...
24.11.2006 11:53:37
UweD
Hallo nochmal
Ursache: der Backslash am Ende fehlt..
so gehts...
Pfad = Application.ThisWorkbook.Path & "\"
Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: jetzt hab ichs...
24.11.2006 12:00:44
Peter
Hallo Uwe
Jetzt läufts wie geschiert !!
Danke, Peter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige