|
Microsoft Office Excel |
|
|
Štampanje odabrane straniceNivo:
U jednoj raspravi na Sezamu bilo je postavljeno pitanje o mogućnosti da Excel odštampa samo onu stranicu na kojoj se nalazi aktivna ćelija na radnom listu, i to prema podrazumevanom prelomu. Istini za volju, to i nije neki osobit problem ukoliko već znate za ograničenja u procedurama štampanja kojima Excel raspolaže. Recimo, možete prebaciti pogled na sadržaj u pregled preloma stranice (meni View, tj. Prikaz), pa ćete na radnoj površini lako videti na kojoj stranici se nalazi aktivna ćelija; broj stranice je ispisan kao pozadinski tekst u zoni koja čini sadržaj te stranice. Tada ćete u dijalogu File / Print (Datoteka / Odštampaj) naznačiti da se štampa opseg npr. From: 3 To: 3 i dobićete na papiru ono što ste želeli. Uzgred, ako još niste počeli da koristite Excel 2007: aktuelna verzija raspolaže potpuno interaktivnim WYSIWYG režimom pregleda štampane stranice, što je dugo očekivani ergonomski detalj koji može biti od koristi kada pripremate izveštaje za štampanje. Međutim, mnogi korisnici su izrazili negodovanje što Excel ne raspolaže opcijom automatskog štampanja samo one stranice na kojoj se nalazi aktivna ćelija, koja god ona bila, kao što je to moguće naznačiti u dijalogu za štampanje u Wordu (opcija Current page u dijalogu Print). U takvom slučaju, ne biste morali da menjate prikaz radnog lista, nego biste odredili opseg u dijalogu. Ali, čega nema u izlogu, ima u radnji: zajedničkim snagama, više učesnika u diskusiji je došlo do rešenja kroz VBA proceduru. To nađeno rešenje smo obeležili kao "privremeno"; ako imate iskustva u programiranju, znate i sami da privremena rešenja teže da doveka ostanu takva (to je jedna od izvedenica Marfijevog zakona). Sasvim slučajno sam naišao na tu raspravu u svojoj arhivi, pa sam malo zasukao rukave i našao rešenje koje više nije privremeno, nego će raditi u većini slučajeva. Naime, na Sezamu smo rešili pitanje posebne ranije postavke oblasti štampanja, a u rešenju koje vidite u prilogu posebna oblast će biti poništena. No, zato ono prvobitno rešenje nije valjano radilo za radne listove čija oblast štampanja je šira od jedne stranice, što ovde radi ispravno. To i nije neki problem da se prepravi, ali onda makro ne bi mogao da stane na ove stranice, pa sam odlučio da vam zasad ponudim ovo opšte rešenje.
Sub NadjiStranicuZaStampanje()
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address
ActiveSheet.PageSetup.Order = xlDownThenOver
TekuciRed = ActiveCell.Row
TekucaKolona = ActiveCell.Column
stranica = 1
For Each HPrelom In ActiveSheet.HPageBreaks
If HPrelom.Location.Row > TekuciRed Then
Exit For
Else
stranica = stranica + 1
End If
Next HPrelom
For Each VPrelom In ActiveSheet.VPageBreaks
If VPrelom.Location.Column > TekucaKolona Then
Exit For
Else
stranica = stranica + _
ActiveSheet.HPageBreaks.Count + 1
End If
Next VPrelom
' True = pregled pre štampanja
' False = direktno štampanje
ActiveSheet.PrintOut stranica, stranica, 1, True
ActiveWindow.View = xlNormalView
End Sub
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana. |