ich habe nun schon mehrere Varianten versucht zu verstehen.
1.) Thisworkbook.SaveCopyAs
2.) Über ein FSO-Object
3.) ThisWorkbook.SaveAs
Nicht führt zu einem Erfolg.
Im Original liegt die Datei auf einem Netzlaufwerk und soll auf einem Rechner B immer am Mittwoch einer Woche um 09:00 unter angabe der Kalenderwoche im Dateinamen gesichert werden.
Könnte sich bitte jemand als Korrekteur über diesen Code hermachen? Das wäre sehr nett.
Vielen Dank.
Gruß
Stefan
Sub ReglmäßigesSpeichern()
Dim iwd As Byte
iwd = Weekday(Date, vbMonday)
If iwd 4 Then
Exit Sub
Else
Dim iKW As Byte
iKW = DIN_KW(Date)
iwd = Weekday(Date, vbMonday)
AktuelleVersion "C:\Users\konta\Documents\800 Programmieren\Sicherungsversionen", iKW
End If
End Sub
Sub AktuelleVersion(strVerzeichnis As String, varVersionsindex As Variant)
Dim objDatei As Workbook ' ObjectVariable: Hier kommt das Workbook hinein
Dim strDateiName As Variant ' Hier wird der aktuelle Dateiname ausgelesen
Dim iKalenderwoche As Integer
'****************** Dieses Workbook in die Objectvariable laden **************
Set objDatei = ThisWorkbook
'***************** Den Zieldateinamen zusammensetzen **************
strDateiName = strVerzeichnis & "\" & "Kw:" & varVersionsindex & objDatei.Name
MsgBox strDateiName
objDatei.SaveAs Filename:= _
strDateiName, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=True
End Sub
Public Function DIN_KW(DasDatum As Date) As Byte
Dim KW As Date
KW = 4 + DasDatum - Weekday(DasDatum, 2)
DIN_KW = (KW - DateSerial(Year(KW), 1, -6)) \ 7
End Function