Moin Leute,
ich habe eine Makro geschrieben was das automatische Speichern von History-files ermöglichen soll. Hierbei bin ich auf zweierlei Probleme gestoßen, die ich mir bisher auch mit einer intensiven Recherche nicht erklären kann.
1. Das Anlegen eines Ordners funktioneriert, leider gibt es immer einen Laufzeitfehler '1004' bei der Aufforderung zum Speichern. (ActiveWorkbook.SaveCopyAs SaveDataName)
Wieso funktioniert das so nicht? Der Befehl ist doch richtig, oder nicht?
Mein Code:
Sub SaveCopy()
Dim SaveDate As Date
Dim SaveTime As Date
Dim TaskTrackerPath As String
Dim TaskTrackerHistoryPath As String
Dim NewPath As String
Dim SaveDataName As Variant
SaveDate = CDate(Format(Now, "dd.mm.yy"))
SaveTime = Format(Now, "h:mm;@")
TaskTrackerPath = ActiveWorkbook.Path
TaskTrackerHistoryPath = "\TT History"
If Mid(TaskTrackerPath, InStrRev(TaskTrackerPath, "\")) <> TaskTrackerHistoryPath Then
NewPath = TaskTrackerPath & TaskTrackerHistoryPath
'MsgBox NewPath
End If
If Dir(NewPath, vbDirectory) = "" Then
MkDir NewPath
End If
SaveDataName = NewPath & "\" & "TT" & "_" & SaveDate & "_" & SaveTime & ".xlsm"
'MsgBox SaveDataName
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs SaveDataName ', xlOpenXMLWorkbook
Application.DisplayAlerts = True
End Sub
2. Damit das Makro automatisch vor dem Speichern der Arbeitsmappe ein History-File anlegt, dachte ich mir es wie folgt anzuwenden. Auch hier gibt es einen Laufzeitfehler '1004' . Ich raff es nicht - andere Makros lasse ich schon genau auf diese Art ausführen.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.Run "SaveCopy"
End Sub
Wie ihr vielleicht merkt bin ich kein Experte auf diesem Gebiet. Über ein paar Tipps wie ich dieses Makro zum laufen bekomme würde ich mich daher sehr freuen.
Besten Dank
|