Stránka 1 z 1

Tisk jen listů s červenými "oušky"

Napsal: 01 bře 2018 15:55
od VOM
Pěkně zdravím
Mohl byste prosím někdo poskytnout makro, které zařídí tisk jen listů s např. červenými "oušky".
Děkuji
Milan

Re: Tisk jen listů s červenými "oušky"

Napsal: 01 bře 2018 21:38
od Grimm

Kód: Vybrat vše

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Not ThisWorkbook.ActiveSheet.Tab.Color = vbRed Then
    Cancel = True
    MsgBox "Tisknout lze jen listy s červeným ouškem", vbExclamation, "Omezení tisku !!!"
End If
End Sub

Kód umístit do modulu ThisWorkbook

Re: Tisk jen listů s červenými "oušky"

Napsal: 06 bře 2018 11:24
od VOM
Dobrý den
Děkuji. Vypadá nadějně, ale já bych potřeboval, aby se červené listy vybraly a následně vytiskly.

Milan

Re: Tisk jen listů s červenými "oušky"

Napsal: 06 bře 2018 21:01
od Grimm
já bych potřeboval, aby se červené listy vybraly a následně vytiskly.

Promiň, ale tohle v původním dotazu nebylo. Chtěl si makro, které zařídí tisk listů jen s červeným ouškem. Vůbec si neuvedl jak se bude tisk realizovat.
Příště by to chtělo lepší popis.

Dvě varianty, kód je umístěn v modulu (např. Module1)

#1

Kód: Vybrat vše

Sub Tisk_cervenych()
Dim Cervene() As String
Dim List As Worksheet
Dim i As Integer

For Each List In ThisWorkbook.Worksheets
    If List.Tab.Color = vbRed Then
        ReDim Preserve Cervene(i)
         Cervene(i) = List.Name
         i = i + 1
    End If
Next List

Sheets(Cervene).PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

End Sub


#2

Kód: Vybrat vše

Sub Tisk_cervenych_i_s_grafy()
Dim Cervene() As String
Dim i As Integer, x As Integer

For x = 1 To ThisWorkbook.Sheets.Count
    If Sheets(x).Tab.Color = vbRed Then
        ReDim Preserve Cervene(i)
         Cervene(i) = Sheets(x).Name
         i = i + 1
    End If
Next x

Sheets(Cervene).PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

End Sub


První kód ignoruje listy typu graf, druhý nikoliv.

Re: Tisk jen listů s červenými "oušky"

Napsal: 07 bře 2018 07:31
od VOM
Dobrý den
Já se fakt stydím, ale zase jsem nenapsal přesně co chci.
Na papír prakticky nikdy netisknu. Ukládám do pdf a to posílám emailem. Na nečervených listech jsou interní informace a proto je neposílám.

Nyní mám v osobním sešitu maker toto:

Sub ulozit_PDF()
Dim soubor As String
Dim a As String
Dim b As String
Dim Adresa As String

a = ActiveWorkbook.Name
b = Left(a, InStr(1, a, ".", vbTextCompare) - 1)
Adresa = ActiveWorkbook.path & "\" & b & ".pdf"

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Adresa, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub

Potřeboval bych, aby se do pdf uložili jen ty "červené".
Pozn. Makro nemůže být v tisknutém sešitu, to by mi čas neušetřilo.

Věřím, že budeš mít se mnou ještě trpělivost.

Díky
MIlan

Re: Tisk jen listů s červenými "oušky"

Napsal: 07 bře 2018 20:19
od Grimm
:crazy: Vážně nevím, co si o tom mám myslet.
Co má sakra tisk společného s ukládáním jednotlivých listů sešitu do PDF?! To že makro má být uloženo v osobním sešitu maker si taky uvedl jen tak mimochodem.
Vážně mě taková zadání, která jsou polovičatá a dávkovaná po kapkách přestávají bavit! To je tak těžké srozumitelně a hlavně uceleně popsat svůj "problém"? Proč si ten svůj kód rovnou nevložil do původní otázky? Z toho by alespoň bylo poznat, že Tisk neznamená Tisk :evil:

Jakým způsobem se mají generovat názvy jednotlivých souborů PDF?
Soubory se mají ukládat do složky, kde je umístěn excel soubor (tak jak je to nyní)? Nebo se mají generovat složky pro jednotlivé soubory PDF?

Zatím to nechám být, dokud si pořádně neujasníš jak to celé má fungovat.

Re: Tisk jen listů s červenými "oušky"

Napsal: 08 bře 2018 15:06
od elninoslov
Tak si urobte doplnok. Rozbalte ho sem:

Kód: Vybrat vše

c:\Users\meno užívateľa\AppData\Roaming\Microsoft\AddIns\

Zatvorte Excel, otvorte ho - Súbor - Možnosti - Doplnky - označte Exportredlisttopdf - Spustiť - zaškrtnite ho - OK
Pribudla v Exceli záložka Export PDF, kde sú 2 tlačítka, použitie je jasné.

Re: Tisk jen listů s červenými "oušky"

Napsal: 09 bře 2018 07:20
od VOM
Děkuji. Perfektní!
Milan

Re: Tisk jen listů s červenými "oušky"

Napsal: 11 bře 2018 14:52
od Grimm
Jen upozorním, že doplněk nefunguje ve verzi 2007. Lépe řečeno se do pásu karet nevloží tlačítka pro spuštění jednotlivých procedur. Ve verzi 2010 je vše v pořádku.

To elninoslov:
Prozradíš jakou formou si přidal tlačítka do pásu karet?
Ruční editací souborů xml nebo na to máš nějaký šikovný software?

Re: Tisk jen listů s červenými "oušky"

Napsal: 11 bře 2018 23:25
od elninoslov
E2007 nemám ako testovať, a robiť si kvôli tomu ďalšiu virtuálku, či rozbíjať stávajúce virtuálky sa mi nechce.

Tlačítka pridávam do doplnkov cez "Custom UI Editor For Microsoft Office". V tomto nástroji by sa mala dať urobiť aj úprava na E2007 pridaním štýlu "customUI.xml" k doterajšiemu "customUI14.xml", s ikonami a s (asi) rovnakým kódom len sa zmení v prvom riadku "2009/07" za "2006/01". Aj DeBruin to spomína na svojich stránkach.

Objavil som ešte malý problém, keď nieje nový súbor ešte uložený, teda nemá žiadnu cestu, a stlačí sa tlačítko, makro havaruje. Teraz som to chcel rýchlo odstrániť, ale žiaľ msoFileDialogFolderPicker mi riadne blbne. Otvára sa niekoľkokrát po sebe, aj pri nastavovaní Title a pod. ešte pred Show. Keďže som túto záhadu ešte nevyriešil, nedám teda zatiaľ upravenú verziu. Uvidíme inokedy podľa času.

PS: A ešte som omylom ikonu nazval namiesto SinglePDF - SimplePDF :), ale na to kašľať.

EDIT:
No ešte som pred spaním niečo stihol, tak to niekto skúste na E2007.

Re: Tisk jen listů s červenými "oušky"

Napsal: 12 bře 2018 21:05
od Grimm
Ahoj, díky za tip na soft. Mám si s čím hrát.
Zkoušel sem soubor na verzi 2007. Pás karet s tlačítky se již vytvořil, bohužel ani jedno tlačítko není funkční - po kliknutí se nic nestane.

Nemá cenu to řešit, tazatelův "problém" je vyřešen a původní doplněk mu funguje.

Koukám, že se Microsoftu opravdu daří. Místo toho aby aby si člověk vytvořil univerzální doplněk bude si muset pořídit veškeré verze excelu a testovat.

Pěkný večer

Re: Tisk jen listů s červenými "oušky"

Napsal: 13 bře 2018 08:58
od elninoslov
Tak som si teda nahodil novú virtuálku s W7x64 a s Off2007 + SP3 + SaveAsPDFandXML doplnkom (lebo Off2007 nevie ukladať defaultne do PDF). Našiel som tam ešte inú vec, ktorú som teraz upravil, ale mne to tlačidlá aj procedúry k nim priradené rozoznalo aj v predchádzajúcej podobe. Rovnako Off2007 aj Off2016. Nahodte si túto upravenú verziu a skúste. Nezabudnite, že pri Off2007 potrebujete oficiálny SaveAsPDFandXML.

PS: Ešte som rozmýšľal, či by sa nedal jednoducho urobiť výber z farebnej ponuky, ale nedal. Musí sa na to naprogramovať vlastný ColorPicker (príp. nájsť nejaký na nete), ktorý bude reflektovať farebnú schému, lebo každý Excelácky ColorPicker čo som skúsil použiť (písmo, pozadie bunky, výplň objektu, farba uška listu,...) vyžaduje priamo hneď zmeniť práve označený objekt. To je pre toto nežiadúce. Toľko práce ale nie som ochotný do toho teraz investovať, takže je tam iba možnosť zmeniť si konštantu farby v makre.