AW: Dateien öffnen makro ausführen u. schließen
11.06.2008 16:14:00
Tino
Hallo,
hier mal ein Code zum öffnen und speichern.
'Benötig den Verweis auf Microsoft Scripting Runtime
Pfad ist in diesem Beispiel ist wo sich die Datei befindet.
Könnte aber je nach Größe der Dateien etwas dauern!
Viel Spaß beim Testen.
Option Explicit
'Benötig den Verweis auf > Microsoft Scripting Runtime
Dim FehlerDatei As String
Sub Start()
Application.ScreenUpdating = False
ListFilesInFolder ThisWorkbook.Path, False, ".xls" 'True = mit Unterordner
Application.ScreenUpdating = True
If FehlerDatei > "" Then
MsgBox FehlerDatei, vbCritical, "Fehler aufgetreten!"
Else
MsgBox "Alle Dateien wurden geöffnet und gespeichert!", vbInformation
End If
End Sub
Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean, Optional _
DateiFormat As String)
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim r As Long
Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)
For Each FileItem In SourceFolder.Files
If (InStr(FileItem.Name, DateiFormat) > 0) And (InStr(FileItem.Name, ThisWorkbook.Name) _
= 0) Then
StartBeendeFile (FileItem.Path)
End If
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
End Sub
Sub StartBeendeFile(strFileName As String)
Dim strDateiName As String
Application.DisplayAlerts = False
strDateiName = Right$(strFileName, Len(strFileName) - InStrRev(strFileName, "\"))
Workbooks.Open (strFileName)
On Error GoTo Fehler:
ActiveWorkbook.Save
Workbooks(strDateiName).Close
Application.DisplayAlerts = True
Exit Sub
Fehler:
On Error Resume Next
Workbooks(strDateiName).Close
Application.DisplayAlerts = True
FehlerDatei = FehlerDatei & Chr(13) & _
Right$(strFileName, Len(strFileName) - InStrRev(strFileName, "\"))
On Error GoTo 0
End Sub
Gruß Tino
www.tinomargit.com