Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak na tisk, nastavení tiskárny, ukázky sešitu před tiskem, atd. Článek je průběžně doplňován a rozšiřován (reaguje na opakující se dotazy).
7.7.2013: Doplněny další kódy.
Co se v tomto článku dozvíte, aneb přehledný seznam ukázkových kódu:
Než se tiskne je vhodné zkontrolovat jak bude vytištěno. K tomu slouží náhled (Preview). Pomocí VBA se zobrazí:
ActiveSheet.PrintOut Preview:=True
Worksheets("List2").PrintPreview
Pokud nepotřebujete (nechcete) tisknout celý list, ale jen část listu.
'omezení oblasti pro tisk
ActiveSheet.PageSetup.PrintArea = "$K$3:$Q$13"
ActiveSheet.PrintOut Preview:=True
Jak zajistit vytisknoutí celého listu (například pokud v předchozím kroku byla tisknutelná oblast omezená).
ActiveSheet.Select
ActiveSheet.PageSetup.PrintArea = Selection
ActiveSheet.PrintOut Preview:=True
Jak provést náhled skrytý list
Sheets("List3").Visible = True
Worksheets("List3").PrintPreview
Sheets("List3").Visible = False
Jak zobrazit dialogové okno nastavení tiskárny
Application.Dialogs(xlDialogPrinterSetup).Show
Provede tisk aktivního listu na tiskárnu (defaultní), kterou máte nastavenou ve Windows jako výchozí.
ActiveSheet.PrintOut
Tisk aneb o Metodě PrintOut podrobněji.
JAk zjistit aktuální, přednastavenou tiskárnu.
AktualniTiskarna = Application.ActivePrinter
MsgBox (AktualniTiskarna)
Vložit do záhlaví texty z buněk.
With ActiveSheet.PageSetup
.LeftHeader = Range("A1")
.CenterHeader = Range("A2")
.RightHeader = Range("A3")
End With
Pro zápatí:
With ActiveSheet.PageSetup
.LeftFooter = "&P"
.CenterFooter = "Text zadaný přímo"
.RightFooter = ""
End With
Podrobněji o nastavení záhlaví a zápatí pro sešit v článku: Zápatí a záhlaví pomocí VBA Excel podrobněji (kódy &P, &N, změna fontu, atd. ).
Jak změnit orientaci stránky (na výšku, na šířku)
ActiveSheet.PageSetup.Orientation = xlLandscape '2
nebo:
ActiveSheet.PageSetup.Orientation = 2
ActiveSheet.PageSetup.Orientation = xlPortrait '1
nebo:
ActiveSheet.PageSetup.Orientation = 1
Jak zajistit opakování řádku, sloupcu, na každé stránce?
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = "$A:$A"
End With
Kód zajistí opakování prvního řádku a prvního sloupce.
Jak zajistit vytisknutí mřížky? Pro tisk mřížky je TRUE, FLASE - pokud mřížku tisknout nechceme.
ActiveSheet.PageSetup.PrintGridlines = True
Potřebujeme-li vytisknout jako koncept (jinak False).
ActiveSheet.PageSetup.Draft = Treu
Jak zajistit tisk černobíle. TRUE - ano, FALSE - pokud tisknout nehceme. Vhodné pro úsporu toneru.
ActiveSheet.PageSetup.BlackAndWhite = False
Jak zajistit tisk komentářů.
ActiveSheet.PageSetup.PrintComments = xlPrintInPlace
Volby:
Jak pomocí VBA změnit velikost papíru (z A4 na A3, nebo A5)? V kódu je ukázka změny na A3.
ActiveSheet.PageSetup.PaperSize = xlPaperA3
Další volby:
S využitím: http://msdn.microsoft.com/ .
Jak nastavit okraje:
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(1.7)
.RightMargin = Application.InchesToPoints(1.7)
.TopMargin = Application.InchesToPoints(1.7)
.BottomMargin = Application.InchesToPoints(1.7)
.HeaderMargin = Application.InchesToPoints(1.3)
.FooterMargin = Application.InchesToPoints(1.3)
End With
Jak omezit oblast tisku, například od stránky 2 do stránky 3
ActiveSheet.PrintOut From:=2, To:=3
Centrovat můžete vodorovně, svisle, nebo vůbec ;) nabývá hodnot: True / False
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = True
End With
Další kódy v přípravě.
Kvalita tisku, měřítko, atd...
' v přípravě
Máte nějaký zajímavý kód pro tisk pomocí VBA? Můžete doplnit do komentářů.
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 04.06.14 14:39
Dobrý den, rád bych zjistil kód pro nastavení tisku v odstínech šedi (ne černobíle).
Přidáno: 10.11.14 14:07
Chcel by som sa spýtať, aký kód použiť pri tlači v merítku 65%. Tlač mám zadefinovanú. Len to tlačí pri 33% a na A4 je to dosť malé.
Přidáno: 12.12.14 22:31
Dobrý den, k využívání vba jsem se dostal před týdnem jako samouk. Je mi skoro 40 a tak s tím mám problémy. Chci Vám tímto poděkovat, protože takhle super napsaný manuál pro "debily" jsem ještě nikdy neobjevil. Klobouk dolů před Vámi a děkuji,
Přidáno: 13.04.15 21:13
Dobrý den, dá se nějak v Excelu nastavit, aby např. sloupec nebo řádek měl určitou velikost v mm při tisku- t.j. jak se řeší v Excelu převod šířka/výška buňky na velikost v mm? Děkuju za radu.
Přidáno: 19.05.15 12:09
Dobrý den, je možné nastavit oblast tisku tak, aby se tiskly/exportovaly do PDF pouze vyplněné části tabulky a zbytek tabulky nikoli? Děkuji
Přidáno: 02.11.15 07:33
Dobrý den chtěl jsem se zeptat jestli je možne vytsiknout na 1 list papíru A4 2 listy sešitu, takže by ten papír byl na šířku a ty dva listy by byl vedle sebe. Děkuji za odpoveď.
Přidáno: 22.10.16 10:29
Ahoj, chcela by som sa spýtať,ako zistiť pomocou VBA počet kópií, ktoré nastavil užívateľ pri tlači zošitu. Ďakujem
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |