Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Dateien in Version 2003 speichern | Herbers Excel-Forum


Betrifft: Dateien in Version 2003 speichern von: Jean Gitanes
Geschrieben am: 27.01.2012 21:32:52

Guten Abend,

die letzten zig Dateien wurden alle unter 2010 in einem Ordner gespeichert.
Nun sollten diese Dateien unter 2003 zur Verfügung stehen.
Wie geht man da am effizientesten vor?

Gruß
Jean

  

Betrifft: AW: Dateien in Version 2003 speichern von: Josef Ehrensberger
Geschrieben am: 27.01.2012 21:44:39


Hallo Jean,

probier mal.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub covertToxl2003()
  Dim objWB As Workbook
  Dim strPath As String, strFile As String
  
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  strPath = "E:\Forum"
  If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
  
  strFile = Dir(strPath & "*.xl*", vbNormal)
  
  Do While strFile <> ""
    Set objWB = Workbooks.Open(strFile, UpdateLinks:=False)
    If objWB.FileFormat <> 56 Then
      objWB.SaveAs strPath & Left(strFile, InStrRev(strFile, ".")) & "xls", FileFormat:=56
    End If
    objWB.Close
    strFile = Dir
  Loop
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'covertToxl2003'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul2"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
End Sub






« Gruß Sepp »



  

Betrifft: AW: Dateien in Version 2003 speichern von: Jean Gitanes
Geschrieben am: 27.01.2012 21:56:56

Hallo Sepp,

ich danke Dir für Dein Programm.
Leider wird dieses dann abgebrochen, wenn in dem betreffenden Ordner eine xls-Datei enthalten ist.
Kann man diesen Fall mit einer Abfrage umgehen?

Gruß
Jean


  

Betrifft: AW: Dateien in Version 2003 speichern von: Josef Ehrensberger
Geschrieben am: 27.01.2012 21:59:56


Hallo Jean,

xls machen nichts, die werden nicht geändert. Wahrscheinlich ist es die Datei aus der du den Code aufrufst, probier den neuen Code.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub covertToxl2003()
  Dim objWB As Workbook
  Dim strPath As String, strFile As String
  
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  strPath = "E:\Forum"
  If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
  
  strFile = Dir(strPath & "*.xl*", vbNormal)
  
  Do While strFile <> ""
    If strFile <> ThisWorkbook.Name Then
      Set objWB = Workbooks.Open(strFile, UpdateLinks:=False)
      If objWB.FileFormat <> 56 Then
        objWB.SaveAs strPath & Left(strFile, InStrRev(strFile, ".")) & "xls", FileFormat:=56
      End If
      objWB.Close
    End If
    strFile = Dir
  Loop
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'covertToxl2003'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul2"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
End Sub




« Gruß Sepp »



  

Betrifft: AW: Vielen Dank von: Jean Gitanes
Geschrieben am: 27.01.2012 22:20:36

Hallo Sepp,

hat super geklappt.
Du hast mir da ganz schön aus der Patsche geholfen.
Tausend Dank für Deine Hilfe. Wenn ich manuell hätte ändern müssen, würde ich morgen total übernächtigt aussehen.
Einen schönen Abend.

Gruß
Jean


  

Betrifft: Installiere das ConverterPack für Office2003 von: NoNet
Geschrieben am: 27.01.2012 22:13:32

Hallo Jean,

weshalb dieser Rückschritt ?
Installiere besser das MS Office Compatibility Pack (Converter)
zum Öffnen von Office 2007/2010 Dateien unter Office 2003, dann bist Du bestens gewappnet !

Gruß, NoNet


Beiträge aus den Excel-Beispielen zum Thema "Dateien in Version 2003 speichern"