Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Konvertierung Excel <-> OpenOffice





Frage

Hallo zusammen, ich habe folgendes Problem : einige Excel-Dateien lassen sich mit Excel2000 plötzlich nicht mehr öffnen, die Anwendung wird von Windows geschlossen (Excel2007 wird NICHT eingesetzt). Öffnen ich diese Dateien jedoch mit OpenOffice Calc 3.0 habe ich keinerlei Probleme, speichere ich die Dateien im XLS-Format ab kann Excel2000 damit auch wieder ohne Probleme arbeiten. Frage : Wie kann ich einen ganzen Datei-Pfad in einer Art Batch öffnen und im XLS-Format auch wieder abspeichern ? Ich möchte nicht den ganzen Tag jede einzelne Datei manuell anfassen müssen. Grüsse, DirtyDiana

Antwort 1 von nighty

hi all :-)

oeffnet die dateien eines angegebenen verzeichnisses und speichert sie wieder im selben verzeichnis,vielleicht hilfreich ?

gruss nighty

Option Explicit
Sub DateienLesen()
    Call EventsOff
    Dim DateiName As String
    DateiName = Dir("C:\Temp\" & "*.xls")
    Do While DateiName <> ""
        If ThisWorkbook.Name <> DateiName Then
            Workbooks.Open Filename:="C:\Temp\" & DateiName
            Workbooks(DateiName).SaveAs Filename:="C:\Temp\" & DateiName, FileFormat:=xlNormal
            Workbooks(DateiName).Close
        End If
        DateiName = Dir
    Loop
    Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub

Public Sub EventsOn()
    With Application
        .DisplayAlerts = False
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub


Antwort 2 von nighty

hi all :-)

ups korrigiert

gruss nighty

Option Explicit
Sub DateienLesen()
    Call EventsOff
    Dim DateiName As String
    DateiName = Dir("C:\Temp\" & "*.xls")
    Do While DateiName <> ""
        If ThisWorkbook.Name <> DateiName Then
            Workbooks.Open Filename:="C:\Temp\" & DateiName
            Workbooks(DateiName).SaveAs Filename:="C:\Temp\" & DateiName, FileFormat:=xlNormal
            Workbooks(DateiName).Close
        End If
        DateiName = Dir
    Loop
    Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
    With Application
        .DisplayAlerts = True
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub