Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA Excel: Save Backup File

6 views
Skip to first unread message

Dario

unread,
Jul 11, 2011, 10:07:26 AM7/11/11
to

Trebao bih napraviti makro koji �e snimiti kopiju trenutno aktivnog
Workbooka u novu datoteku, s time da u nazivu doda trnutni datum u formatu
yyyy-mm-dd.

To sam napravio kao �to je prikazano u kodu dolje, ali znam da je malo
nespretno, a osim toga ne znam kako do�i do starog Workbooka koji je jo�
otvoren u pozadini.

Ima li neki bolji na�in, mo�da snimiti trenutni fajl, pa kopirati datoteku
sa diska pod novo ime? Kako se kopira datoteka iz VBA?

Sub SaveNewBackup()

'original file name
sFN1 = ActiveWorkbook.FullName

'add year-mont-date to new filename
sFN2 = Left(sFN1, Len(sFN1) - 5) + " " + Format(Date, "yyyy-mm-dd") +
Right(sFN1, 5)

'save to new file
ActiveWorkbook.SaveAs Filename:=sFN2,
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'wb1 = ActiveWorkbook

'open old (original) file
Workbooks.Open Filename:=sFN1

'close backup file (backup) => KAKO?

End Sub

b&s

unread,
Jul 11, 2011, 4:44:27 PM7/11/11
to
"Dario" <Snapp...@gmail.com> wrote in message
news:1gb2qmwuexpgp$.a9tc0hhv...@40tude.net
> Trebao bih napraviti makro koji će snimiti kopiju

> trenutno aktivnog Workbooka u novu datoteku, s time da u
> nazivu doda trnutni datum u formatu yyyy-mm-dd.
>
> To sam napravio kao ąto je prikazano u kodu dolje, ali
> znam da je malo nespretno, a osim toga ne znam kako doći
> do starog Workbooka koji je joą otvoren u pozadini.
>
> Ima li neki bolji način, moľda snimiti trenutni fajl, pa

> kopirati datoteku sa diska pod novo ime? Kako se kopira
> datoteka iz VBA?
>
>
>
> Sub SaveNewBackup()
>
> 'original file name
> sFN1 = ActiveWorkbook.FullName
>
> 'add year-mont-date to new filename
> sFN2 = Left(sFN1, Len(sFN1) - 5) + " " + Format(Date,
> "yyyy-mm-dd") + Right(sFN1, 5)
>
> 'save to new file
> ActiveWorkbook.SaveAs Filename:=sFN2,
> FileFormat:=xlOpenXMLWorkbookMacroEnabled,
> CreateBackup:=False 'wb1 = ActiveWorkbook
>
> 'open old (original) file
> Workbooks.Open Filename:=sFN1
>
> 'close backup file (backup) => KAKO?
>
> End Sub

... moj prijedlog: umjesto SaveAs koristi SaveCopyAs
i onda bi to bilo otprilike ovako:

Sub Backup()
'Saves the current file to a backup folder
'Note that any backup is overwritten
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs Filename:="C:\NekiFolder\" _
& Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) _
& Format(Date, "yyyy-mm-dd") & ".xls"
Application.DisplayAlerts = True
End Sub

--
pozdrav!
Berislav


Dario

unread,
Jul 15, 2011, 10:28:18 AM7/15/11
to

Works like a charm :=))
Nisam niti sumnjao da postoji jednostavniji način..
Tnx ..

b&s

unread,
Jul 15, 2011, 2:49:21 PM7/15/11
to
"Dario" <Snapp...@gmail.com> wrote in message
news:199qptzf1l3tq$.pc8q41f77anx$.d...@40tude.net

> Works like a charm :=))
> Nisam niti sumnjao da postoji jednostavniji način..
> Tnx ..

... Yaw ...

--
pozdrav!
Berislav

0 new messages