^ Kosa crta "/" neće moći u nazivu fajla sa tim moraš da se pomiriš (nedozvoljen znak!)
Bolja praksa je da broj fakture predstavljaš kao broj godine - broj fakture (gg - BrojFakture)
Da ne ulazimo preterano u detalje evo ti uzorak koda pa ga prilagodi po potrebi
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim stLine As String ', FileSaveName As String
stLine = "" & Right(Year(Range(["DATUM"])), 2) _
& "-" & Range(["BROJFAKTURE"]) _
& " " & Range(["NAZIV_FIRME"])
If Me.Name = stLine & ".xls" Then
Exit Sub
Else
If Range(["BROJFAKTURE"]) <> "000" Then
FileSaveName = Application.GetSaveAsFilename("" & Right(Year(Range(["DATUM"])), 2) _
& "-" & Range(["BROJFAKTURE"]) _
& " " & Range(["NAZIV_FIRME"]), fileFilter:="Excel Files (*.xls), *.xls")
If FileSaveName <> False Then
ActiveWorkbook.SaveAs Filename:=FileSaveName
End If
End If
End If
End Sub
Napomena:
U xlt template fajlu su definisana imena (Name) i vrednosti za određena polja:
DATUM (kod otvaranja nove je uvek današnji ako ti ne uneseš drugačije)
BROJFAKTURE (kod otvaranja nove je uvek "000" dok ti ne uneseš važeći broj)
NAZIV_FIRME (kod otvaranja nove je uvek "NAZIV FIRME" dok ti ne uneseš važeći)
Prilikom zatvaranja fajla nudi se u "Save As" prozoru ime fajla u obliku:
10-001 Naziv firme.xls na putanji koja je na nivou Excela zadata kao podrazumevana (...\Documents\Excel\)
Gde je:
godina
broj fakrure
Ako se radi o fajlu koji već ima prethodno definisan naziv (otvaraš ga ponovo) onda ova procedura ne radi ništa...
Postoji i deo koda koji proverava da li je unet broj fakture umesto "000", pa ako nije onda upozorava korisnika da mora da unese validan broj... itd...
;)
[Ovu poruku je menjao Take 5 dana 04.01.2010. u 21:11 GMT+1]
"Take Five" is the famous jazz piece written by Paul Desmond and performed by The Dave Brubeck Quartet. It is famous for its distinctive saxophone line and use of the
unusual quintuple (5/4) time, from which its name is derived.
Take Five (1966)
Take Five by Al Jarreau 1976