zk24 no tak dam vsetky xls do jedneho foldra, dam ctrl+a, vsetko vysvietim a staci jeden krat right-clik a print.... a vyprintuje vsetky naraz do pdfiek
Háčik je v tom, že by bola vyprintovaná iba strana, ktorá bola aktuálne zobrazená pri uložení zošita.
Museli by byť uložené s označením viacerých listov.
Jedno z riešení (v prípade
XL 2007 a viac) je v cykle otvoriť jednotlivé súbory a uložiť jednotlivé listy ako PDF
(viď prílohu - rozbaliť do
C:TMP, spustiť
_Vykonny_Book_Tlac_do_PDF.xlsm).
Práve pre Foxyma už jedno podobné riešenie bolo vytvorené i tu na porade:
http://www.porada.sk/1032620-post6.html
Je tam použitá nasledovná fn:
Code:
Sub xSave_as_PDF()
Dim sPDF_Name As String, sFileName As String
Dim xLast As Byte
xLast = InStr(1, UCase(ActiveWorkbook.FullName), ".XLS") - 1
sFileName = Mid(ActiveWorkbook.FullName, 1, xLast)
sPDF_Name = sFileName & "_" & ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPDF_Name, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'MsgBox "Úspešne uložené ako súbor: " & sPDF_Name, vbOKOnly, "INFO"
Exit Sub
xErr:
MsgBox "Nepodarilo sa uložiť ako: : " & sPDF_Name, vbCritical, "CHYBA"
End Sub
Pre
Excel 2003 a nižšie je to pracnejšie.
Treba mať nainštalovaný nejaký sw na tlač do PDF, napr
PDFCreator.
Potom sa dá použiť takýto kód:
Code:
Sub Print_as_PDF()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, ActivePrinter:="PDFCreator"
End Sub
Treba však odklikávať názvy tlačených súborov
Palo
doplnenie: Pre XL 2003 a nižšie by sa dalo skombinovať z vyššie spomenutým 602sw. Ale zatiaľ som neskúšal.