armin-k
Goto Top

Excel Makro zur Konvertierung einer xls oder xlsx in das Frormat xlsm

Liebes Forum,
vielleicht könnt Ihr mir wieder bei einem Problem aus der Excel-VBA umgebung weiterhelfen. Folgender Hintergrund dazu:
In einem Verzeichnis habe ich ca. 500 Dateien (gleiche Struktur, Aufbau aber sehr unterschiedliche Namen) im Format *.xls.

Ich möchte jetzt mit einem Makro beim Öffnen der einzelnen Dateien folgendes erreichen:
- Speichern und Konvertieren in das aktuelle Format von Excel
- Speichern als *.xlsm Datei
- Import einer Datei „Modul.bas“
- Speichern der Datei mit gleichem Pfad und Dateiname wie die Quelle

Ich habe selbst ein wenig herumprobiert, scheitere aber immer wieder am fehlerfreien Speichern der Quelldatei mit dem neuen Format *.xlsm. idealerweise sollte das Makro in der persönlichen Makroarbeitsmappe abgelegt sein. Anbei meine Entwürfe dazu, vieles funktioniert aber irgendetwas ist noch falsch. Nach Ablauf des Makros ist die neue Datei nicht nutzbar, Arbeitsblätter fehlen.
Anbei der Code, könnt Ihr mir helfen, wo steckt der Fehler….

Sub Aufbereiten()
    
With ActiveWorkbook.VBProject
      .VBComponents.Import "C:\Users\KaunA\Desktop\Modul1.bas"  
End With

   Dim pfad As String
   Dim datei As String
   Dim filename As String

   filename = ActiveWorkbook.Name
    If InStr(filename, ".") > 0 Then  
   filename = Left(filename, InStr(filename, ".") - 1)  
    End If

    pfad = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name  
    pfad = ActiveWorkbook.Path & "\" & filename  


datei = Application.GetSaveAsFilename(InitialFileName:=pfad, filefilter:="Excel Arbeitsmappe mit aktivierten Makros (*.xlsm), *.xlsm")  
   If datei = "Falsch" Then Exit Sub  

ThisWorkbook.SaveAs filename:=datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
'  
End Sub

Content-Key: 375325

Url: https://administrator.de/contentid/375325

Printed on: April 27, 2024 at 20:04 o'clock

Member: emeriks
emeriks May 28, 2018 at 14:45:34 (UTC)
Goto Top
Hi,
am Rande:
If datei = "Falsch" Then Exit Sub
Sieht falsch aus.

https://msdn.microsoft.com/de-de/vba/excel-vba/articles/application-gets ...
Gibt False zurück, wenn der Benutzer das Dialogfeld abbricht.
if vartype(datei) = vbBoolean then 
  If not datei then exit sub
end if

E.
Mitglied: 136166
Solution 136166 May 28, 2018 updated at 15:07:09 (UTC)
Goto Top
Hier gefunden
Doc Dokumente leicht in .docx umwandeln
Das Skript verarbeitet die folgende alten Office-Dateierweiterungen für Excel, Word und Powerpoint '*.xls','*.xlt','*.doc','*.dot','*.ppt','*.pot','*.pps' und wandelt sie in Ihre entsprechenden neuen Verwandten um (unter Beachtung ob mit oder ohne Makroprojekt). Ein installiertes Office ist Voraussetzung.
Member: Armin-K
Armin-K Jun 02, 2018 at 15:29:43 (UTC)
Goto Top
Hallo decathlon,

mein Problem ist zwar als gelöst markiert, trotzedem allen Beteiligten noch einmal vielen Dank für die Unterstützung. Ich habe mich nach Deinem Hinweis von meiner "Makro-Variante" verabschiedet und nutze das Script. Funktioniert super - alles gut....

Lieben Gruß aus der Lüneburger Heide

Armin