VBA: xltm Datei speichern unter xlsm
Schritt-für-Schritt-Anleitung
Um eine .xltm
Datei in Excel unter der Dateiendung .xlsm
zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code öffnet die Vorlage und ermöglicht es Dir, die Datei im gewünschten Format zu speichern.
Sub test()
Dim Excel As Excel.Application
Dim DateiFormat As String, SpeicherPfad As String
Dim vntFileName As Variant
Set Excel = New Excel.Application
DateiFormat = "Excel Files (*.xlsm), *.xlsm"
SpeicherPfad = "C:\test\"
Excel.Workbooks.Open ("Vorlage.xltm")
vntFileName = Excel.Application.GetSaveAsFilename(SpeicherPfad, DateiFormat)
If vntFileName <> False Then
Excel.ActiveWorkbook.SaveAs vntFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, addtomru:=True
End If
Excel.Application.Visible = True
End Sub
Dieser Code nutzt GetSaveAsFilename
, um den Dateinamen zu ermitteln und speichert das Dokument anschließend mit dem richtigen FileFormat
für .xlsm
.
Häufige Fehler und Lösungen
-
Fehler: Datei wird nicht gespeichert
Wenn Du nach dem Drücken auf "Speichern" kein Ergebnis siehst, überprüfe, ob das FileFormat
richtig gesetzt ist. Verwende xlOpenXMLWorkbookMacroEnabled
für .xlsm
.
-
Fehler: Dialog öffnet sich, aber keine Speicherung
Achte darauf, dass Du den Rückgabewert von GetSaveAsFilename
überprüfst. Wenn dieser False
ist, wurde kein Dateiname gewählt.
Alternative Methoden
Falls Du keine VBA-Programmierung verwenden möchtest, kannst Du die Datei auch manuell speichern:
- Öffne die
.xltm
Datei in Excel.
- Wähle „Datei“ > „Speichern unter“.
- Wähle den Speicherort und setze die Dateiendung auf
.xlsm
.
- Klicke auf „Speichern“.
Diese Methode erfordert keine Programmierung, ist jedoch weniger automatisiert.
Praktische Beispiele
Ein Beispiel für den Einsatz von VBA in einer Excel-Anwendung könnte sein, dass Du regelmäßig Berichte generierst, die auf einer .xltm
Vorlage basieren. Mit dem oben genannten VBA-Code kannst Du diesen Prozess automatisieren und die Berichte schnell unter .xlsm
speichern, ohne jedes Mal manuell durch den Speicherdialog zu gehen.
Tipps für Profis
- Nutze
Option Explicit
am Anfang Deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert sind.
- Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Fehler während des Speichervorgangs abzufangen.
- Wenn Du regelmäßig das
fileformat
ändern musst, erwäge, dies in einer Konstante zu speichern, um den Code wartungsfreundlicher zu gestalten.
FAQ: Häufige Fragen
1. Frage
Wie kann ich den Dateinamen in VBA vorgeben?
Antwort: Du kannst den Dateinamen direkt im SaveAs
-Befehl angeben, oder ihn durch GetSaveAsFilename
vom Benutzer wählen lassen.
2. Frage
Was ist der Unterschied zwischen .xlsm
und .xltm
?
Antwort: .xlsm
ist das Standardformat für Excel-Arbeitsmappen mit Makros, während .xltm
ein Vorlagenformat ist, das ebenfalls Makros enthalten kann.