[ ib.kroki @ 14.03.2018. 09:09 ] @
Potreban mi je makro koji će se aktivirati prilikom otvaranja fajla, a sačuvaće bekap na određenoj lokaciji sa novim imenom (staro ime + datum i vreme)

Na forumu sam došao do makroa koji će prilikom otvaranja fajla pozivati proceduru (postavlja se u ThisWorkbook)

Code:

Private Sub Workbook_Open()
'pokretanje VBA macro kada otvoriš Workbook
KreirajBekap 'naziv VBA procedure
End Sub


Pokušao sam da kreiram makro za kreiranje i snimanje bekap fajla, ali nisam uspeo (postavio u ThisWorkbook).
Molim za pomoć.

Code:

Sub KreirajBekap()

Dim Folder As String
Dim BekapIme As String

Folder = "D:\ExcelBekap\"
BekapIme = ActiveWorkbook.Name


    ThisWorkbook.SaveAs Folder & BekapIme & Format(Now, "dd-MM-yyyy hh:mm:ss") & ".xlsm"
End Sub
[ Jpeca @ 14.03.2018. 14:06 ] @
Možeš da probaš da startuješ proceduru direktno (Alt+F8) i postaviš breakpoint - pa proveriš red po red šta se dešava.
Ovde ima dva trivijalna problema
1/ ActiveWorkbook.Name vraća i ekstenziju
Da dobiješ ime bez ekstenzije možeš da koristiš File System Object - fso.GetBaseName(ActiveWorkbook.Name)
Ili jednostavno da odsečeš zadnjih pet karaktera sa Left: Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)

2/ Dvotačka (:) je rezervisan karatkter - npr C: i ne može se koristiti u imenu faja. Možeš da zameniš sa nekim drugim blanko ili - npr:
Code:
Format(Now, "dd-MM-yyyy hh mm ss")


Tako bi to trebalo da radi. Ostaje logičko pitanje
a/ Zašto snimati fajl pre nego što se uradi Save?
b/ Zašto ne koristiti posotjeći automatski backup u Excelu. Doduše na ovaj način čuva se samo jedna backup verzija
[ ib.kroki @ 14.03.2018. 14:26 ] @
Citat:
Jpeca

a/ Zašto snimati fajl pre nego što se uradi Save?
b/ Zašto ne koristiti posotjeći automatski backup u Excelu. Doduše na ovaj način čuva se samo jedna backup verzija


Potrebna je arhiva u kojoj se može videti šta je kojeg datuma rađeno, pa zbog toga ne može automatski bekap.
[ ib.kroki @ 15.03.2018. 08:17 ] @
Hvala @Jpeca.
Uz tvoju pomoć došao do rešenja.

Code:
ThisWorkbook.SaveAs Folder  & Format(Now, "dd-MM-yyyy hh-mm-ss") & BekapIme
[ ib.kroki @ 15.03.2018. 08:27 ] @
Sad mi se javio novi problem.

Meni je potrebno da se radi na fajlu IME.XLSM a korišćenjem Save As dobijem bekap fajl i on ostaje otvoren (radi se na bekap fajlu, ne na izvornom)

Kako samo da kreiram bekap fajl ali da se ne otvori, već da nastavim raditi u IME.XLSM.
[ Sadun @ 15.03.2018. 09:03 ] @
Evo detaljno....
Imas na linku primere, samo zameni tvoj string sa novim imenom
[ Jpeca @ 15.03.2018. 10:02 ] @
SaveCopyAs umesto SaveAs u tvom primeru. Attachovana izmenjena verzija u prethodnom postu
[ ib.kroki @ 15.03.2018. 13:51 ] @
Hvala, to je to!