Keresés

Új hozzászólás Aktív témák

  • Fferi50

    őstag

    válasz Richard #43130 üzenetére

    Szia!
    Jó, hogy megoldottad a problémát.
    A nyomtatáshoz 2 lehetőség is van szerintem. Az egyik, hogy beállítod a nyomtatási kimenetet PDF formátumra.
    Ezt makróból is meg lehet csinálni, csak meg kell nézni, hogy a kézi beállítás után mit mond az Application.ActivePrinter tulajdonság. Arra kell makróban beállíítani utána.
    Ezután kijelölöd a nyomtatásra a munkalapokat.
    Sub nyomtat()
    Dim lap As Worksheet, nyomtatni As Variant, nyomtato As String
    nyomtato = Application.ActivePrinter
    Application.ActivePrinter = "Microsoft Print to PDF a(z) Ne03: kimeneten"
    For Each lap In Worksheets
      If Left(lap.Name, 3) = "EE_" And lap.Visible = xlSheetVisible Then nyomtatni = nyomtatni & "," & lap.Name
    Next
    nyomtatni = Mid(nyomtatni, 2)
    nyomtatni = Split(nyomtatni, ",")
    ActiveWorkbook.Sheets(nyomtatni).PrintOut , printtofile:=True, prtofilename:="C:\users\user\xx.pdf", Copies:=1, Collate _
            :=True, IgnorePrintAreas:=False
    Application.ActivePrinter = nyomtato
    End Sub

    A másik lehetőség, amikor nem jelölöd ki a PDF nyomtatót, hanem mentés másként nyomtatod ki PDF formátumban a kijelölt munkalapokat:
    Sub nyomtatb()
    Dim lap As Worksheet, nyomtatni As Variant, nyomtato As String
    For Each lap In Worksheets
        If Left(lap.Name, 3) = "EE_" And lap.Visible = xlSheetVisible Then nyomtatni = nyomtatni & "," & lap.Name
    Next
    nyomtatni = Mid(nyomtatni, 2)
    nyomtatni = Split(nyomtatni, ",")
    Sheets(nyomtatni).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\user\Documents\xx.pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End Sub
    A két változat úgy látom, szinte egyenrangú, de a másodiknál védett PDF fájl keletkezik és nagyobb is a mérete.

    Üdv.

Új hozzászólás Aktív témák