502 Aufrufe
Gefragt in Tabellenkalkulation von heiko1985 Mitglied (127 Punkte)

Hallo zusammen

Ich möchte in meiner Excel-Datei die Möglichkeit einbauen, über Command Buttons die Datei als *.xlsm oder als *.xltm zu speichern.

Für die Variante *.xlsm funktioniert das so sehr gut:

Sub xlsm_speichern()


Set oWSH = CreateObject("WScript.Shell")

Path_Desktop = oWSH.SpecialFolders("Desktop")

ChDir Path_Desktop

FileToSaveAs = Application.GetSaveAsFilename(InitialFileName:="MeineDatei", FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")


End Sub

Das "Speichern unter"-Fenster wird geöffnet und das Dateiformat wird auf *.xlsm beschränkt.

Aber leider funktioniert das so für *.xltm nicht:

FileToSaveAs = Application.GetSaveAsFilename(InitialFileName:="MeineDatei", FileFilter:="Excel Macro-Enabled Template (*.xltm), *.xltm")

Das "Speichern unter"-Fenster wird zwar geöffnet und das Dateiformat wird auf *.xltm beschränkt. Und nach Klick auf "Speichern" wird das "Speichern unter"-Fenster geschlossen.

Aber die Datei wird nicht gespeichert!

Kann mir da jemand weiterhelfen?

Danke und Gruß

Heiko1985

2 Antworten

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hi Heiko,

versuche es mal nach diesem Prinzip:

Sub SpeichernXLTM()
    Dim Name
    Dim WSHShell As Object
    Dim strDesktop As String
    Set WSHShell = CreateObject("wscript.Shell")
    strDesktop = WSHShell.SpecialFolders.Item("Desktop")
    Name = Application.GetSaveAsFilename(strDesktop & "\" & _
        "MeineMappe.xltm", fileFilter:="Microsoft Excel-Enabled Template (*.xltm), *.xltm")
    If Name <> False Then
        ActiveWorkbook.SaveAs Name, FileFormat:= _
            xlOpenXMLTemplateMacroEnabled, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    End If
End Sub


Bis später, Karin

0 Punkte
Beantwortet von heiko1985 Mitglied (127 Punkte)
Perfekt! Danke!
...