Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mehrere Dateien eines Verzeichnisses mit Makro öffnen ...

1,375 views
Skip to first unread message

Uli

unread,
Sep 3, 2009, 7:51:26 AM9/3/09
to
Hallo NG,

ich habe ein kleines Problem und hoffe ganz arg, dass mir jemad einen Tip
geben kann.

Ich einem gegebenen Verzeichnis sind eine Anzahl X Dateien (.xls) vorhanden.
Ich m�chte diese X Dateien in einer Schleife �ffnen, bearbeiten und wieder
schlie�en, ohne jedoch zu wissen, wie deren Name ist. Wie kann ich die X
Dateien nacheinander �ffnen.

�ber einen Tip w�re ich sehr dankbar!!!!

Beste Gr��e
Uli


Andreas Killer

unread,
Sep 3, 2009, 8:12:42 AM9/3/09
to
Uli schrieb:

> Ich einem gegebenen Verzeichnis sind eine Anzahl X Dateien (.xls) vorhanden.

> Ich mᅵchte diese X Dateien in einer Schleife ᅵffnen, bearbeiten und wieder
> schlieᅵen, ohne jedoch zu wissen, wie deren Name ist. Wie kann ich die X
> Dateien nacheinander ᅵffnen.
Option Compare Text

Sub Test()
'Dim fs As FileSystemObject, fo As Folder, f As File
Dim fs As Object, fo As Object, f As Object
Dim WB As Workbook
Set fs = CreateObject("Scripting.FileSystemObject")
Set fo = fs.GetFolder("c:\temp")
For Each f In fo.Files
If fs.GetExtensionName(f.Name) = "xls" Then
Set WB = Workbooks.Open(f.Name)
'Dein Code hier
WB.Close SaveChanges:=True
End If
Next
End Sub

Uli

unread,
Sep 3, 2009, 8:39:43 AM9/3/09
to

"Andreas Killer" <andreas...@gmx.net> schrieb im Newsbeitrag
news:4a9fb2ba$0$31876$9b4e...@newsspool3.arcor-online.net...

> Uli schrieb:
>
>> Ich einem gegebenen Verzeichnis sind eine Anzahl X Dateien (.xls)
>> vorhanden. Ich m锟絚hte diese X Dateien in einer Schleife 锟絝fnen,
>> bearbeiten und wieder schlie锟絜n, ohne jedoch zu wissen, wie deren Name
>> ist. Wie kann ich die X Dateien nacheinander 锟絝fnen.

> Option Compare Text
>
> Sub Test()
> 'Dim fs As FileSystemObject, fo As Folder, f As File
> Dim fs As Object, fo As Object, f As Object
> Dim WB As Workbook
> Set fs = CreateObject("Scripting.FileSystemObject")
> Set fo = fs.GetFolder("c:\temp")
> For Each f In fo.Files
> If fs.GetExtensionName(f.Name) = "xls" Then
> Set WB = Workbooks.Open(f.Name)
> 'Dein Code hier
> WB.Close SaveChanges:=True
> End If
> Next
> End Sub

Uuups ... leider komme ich damit nicht ganz klar. Bis zu meinem Problem,
habe ich folgenden Code:

Sub test()
Dim Pfad As String
Dim Dateiform As String

Dateiform = ".xls" ' Anmerkung: es sind nur xls-Files in dem
Verzeichnis vorhanden

With Application.FileSearch
.LookIn = Pfad ' Suchverzeichnis
.SearchSubFolders = False ' suchen im Unterverzeichnis
.Filename = Dateiform
AnzahlDateien = .Execute()
End With

For i=1 to AnzahlDateien
... 锟絝fne Datei Nr. i ...
Next

End Sub

Geht das auf diese Weise irgendwie? Dann w锟絩de ich es wohl auch verstehen.
:-)


Andreas Killer

unread,
Sep 3, 2009, 8:58:26 AM9/3/09
to
Uli schrieb:

> Uuups ... leider komme ich damit nicht ganz klar. Bis zu meinem Problem,
> habe ich folgenden Code:

Nur so nebenbei: Application.FileSearch gibt's ab XL2007 nicht mehr.

> Geht das auf diese Weise irgendwie? Dann wᅵrde ich es wohl auch verstehen.
Ist dasselbe in Grᅵn.

Andreas.

Sub test()
Dim Pfad As String
Dim Dateiform As String

Dim i As Long
Dim WB As Workbook

Pfad = "C:\temp"
Dateiform = "*.xls"

With Application.FileSearch
.LookIn = Pfad 'Suchverzeichnis
.SearchSubFolders = False 'suchen im Unterverzeichnis
.Filename = Dateiform

If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Set WB = Workbooks.Open(.FoundFiles(i))


'Dein Code hier
WB.Close SaveChanges:=True

Next
End If
End With
End Sub

Uli

unread,
Sep 3, 2009, 9:11:37 AM9/3/09
to

"Andreas Killer" <andreas...@gmx.net> schrieb im Newsbeitrag
news:4a9fbd72$0$31876$9b4e...@newsspool3.arcor-online.net...

> Uli schrieb:
>
>> Uuups ... leider komme ich damit nicht ganz klar. Bis zu meinem Problem,
>> habe ich folgenden Code:
> Nur so nebenbei: Application.FileSearch gibt's ab XL2007 nicht mehr.
>
>> Geht das auf diese Weise irgendwie? Dann w�rde ich es wohl auch
>> verstehen.
> Ist dasselbe in Gr�n.

>
> Andreas.
>
> Sub test()
> Dim Pfad As String
> Dim Dateiform As String
> Dim i As Long
> Dim WB As Workbook
>
> Pfad = "C:\temp"
> Dateiform = "*.xls"
>
> With Application.FileSearch
> .LookIn = Pfad 'Suchverzeichnis
> .SearchSubFolders = False 'suchen im Unterverzeichnis
> .Filename = Dateiform
> If .Execute() > 0 Then
> For i = 1 To .FoundFiles.Count
> Set WB = Workbooks.Open(.FoundFiles(i))
> 'Dein Code hier
> WB.Close SaveChanges:=True
> Next
> End If
> End With
> End Sub

HEy, SPITZE!!! Vielen Dank Andreas!!!

Jetzt kapiere auch ich es.
;-)

0 new messages