Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 2.901 pregleda

Najnovija ↓

Makro za bekap fajla (ime+datum+vreme) 14.03.2018. u 10:09 · pre 105 meseci #1
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
Potpis
Zvoni, kucanje ne radi ...
Re: Makro za bekap fajla (ime+datum+vreme) 14.03.2018. u 15:06 · pre 105 meseci #2
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
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Sviđa mi se1
Re: Makro za bekap fajla (ime+datum+vreme) 14.03.2018. u 15:26 · pre 105 meseci #3
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.
Potpis
Zvoni, kucanje ne radi ...
Re: Makro za bekap fajla (ime+datum+vreme) 15.03.2018. u 09:17 · pre 105 meseci #4
Hvala @Jpeca.
Uz tvoju pomoć došao do rešenja.

Code:
ThisWorkbook.SaveAs Folder  & Format(Now, "dd-MM-yyyy hh-mm-ss") & BekapIme
Potpis
Zvoni, kucanje ne radi ...
Re: Makro za bekap fajla (ime+datum+vreme) 15.03.2018. u 09:27 · pre 105 meseci #5
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.
Potpis
Zvoni, kucanje ne radi ...
Re: Makro za bekap fajla (ime+datum+vreme) 15.03.2018. u 11:02 · pre 105 meseci #7
SaveCopyAs umesto SaveAs u tvom primeru. Attachovana izmenjena verzija u prethodnom postu
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme