Clever-Excel-Forum

Normale Version: Makro - Datei abspeichern - Datenverlust?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe folgenden funktionieren Code in einer Testdatei zum Laufen gebracht. Wenn ich jetzt eine etwas größere Arbeitsdatei bei uns damit abspeichern will, dann sagt er mir " Erheblicher Funktionalitätsverlust". Im Endeffekt speichert er dann die datei ohne daten mit 0 KB...habt Ihr eine Idee woran es liegt?

Sub SPEICHERN()
'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind
Dim sDatei As String, sZielDatei As String
Dim Pos
'Dim sPfad As String
'hier fehlt der Backslash (\)
'sPfad = ThisWorkbook.Path
sPfad = ActiveWorkbook.Path & "\"
sDatei = ActiveWorkbook.Name
'
'in Dateinamen sind z.B. Doppelpunkte
'nicht erlaubt
'Dateinamen extrahieren
Pos = InStrRev(sDatei, ".", , vbTextCompare)
sZielDatei = sPfad & Mid(sDatei, 1, Pos - 1)
sZielDatei = sZielDatei _
& "_" & Format(Date, "yyyyMMdd")

'MsgBox sZielDatei
'
ActiveWorkbook.SaveAs Filename:=sZielDatei & ".xlsm", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub

vg, die Kirsche
Hallo Kirsche,
um ein .xlsm zu speichern,muss als Fileformat xlOpenXMLWorkbookMacroEnabled genutzt werden, also

ActiveWorkbook.SaveAs Filename:=sZielDatei & ".xlsm", FileFormat:=[b]xlOpenXMLWorkbookMacroEnabled[/b], Password:=...

sonst passen Endung und Format nicht zusammen.
Moin!
Interessant finde ich:
Code:
'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind

Was führt die Kirschgurke zu dieser falschen Erkenntnis?

Am Rande:
Es ist ein "Glaubenskrieg", ob man Variablen nach der ungarischen Notation benennen sollte.
Es gibt sogar (auch hier im Forum) ausgewiesene Koryphäen, die auf Deklaration gleich ganz verzichten.
Die "Wahrheit" ist wie so häufig irgendwo in der Mitte.
Jedenfalls spricht nichts dagegen, eine Variable Pfad oder Datei zu nennen.

Gruß Ralf
(23.07.2018, 18:07)RPP63 schrieb: [ -> ]Jedenfalls spricht nichts dagegen, eine Variable Pfad oder Datei zu nennen.

Hauptsache, sie wird überhaupt deklariert, was hier für die Pfadvariable nicht geschieht.

Gruß Uwe
Auch das noch!  Confused  :19:
Hallöchen,

das ist wie mit allen Geschichten, ein Körnchen :15: Wahrheit findet sich zuweilen darin. Wenn schon,
Zitat:'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind
würde ich hier Path und File erwähnen und nicht die deutsche Übersetzung. Unabhängig davon ist auch nix "verboten", man sollte nur das eine oder andere vermeiden, ansonsten merkt lediglich eventuell und irgendwann, dass etwas nicht geht oder anders läuft, als erwartet … :100: