首页 > 解决方案 > 将 Excel 中的多个选择打印成 1 个单页 PDF

问题描述

我是 Excel VBA 的新手,我从https://trumpexcel.com/convert-excel-to-pdf/获取此代码以将选择打印为 PDF。

目前我唯一关心的是,如何将我所有的不连续选择打印成 1 个 PDF。如果有人可以提供帮助,我将非常感激。

例如,在下面的照片中,您可以看到如果我从第一行到最后一行进行选择,那么当我将 Selection 打印为 PDF 时,它将转换为 1 个单页。但是例如,我只想打印产品 1 和产品 3(跳过产品 2),那么我将只能将它们打印成 2 个单独的页面。我怎样才能把它变成一页是我的问题。代码:

Sub PrintSelectionToPDF()
    Dim ThisRng As Range
    Dim strfile As String
    Dim myfile As Variant

    If Selection.Count = 1 Then
        Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8)
    Else
        Set ThisRng = Selection
    End If

    'Prompt for save location
    strfile = "Selection" & "_" _
        & Format(Now(), "yyyymmdd_hhmmss") _
        & ".pdf"
    strfile = ThisWorkbook.Path & "\" & strfile
    myfile = Application.GetSaveAsFilename _
        (InitialFileName:=strfile, _
        FileFilter:="PDF Files (*.pdf), *.pdf", _
        Title:="Select Folder and File Name to Save as PDF")
    If myfile <> "False" Then 'save as PDF
        ThisRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            myfile, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
    Else
        MsgBox "No File Selected. PDF will not be saved", vbOKOnly, "No File Selected"
    End If
End Sub

图片

标签: excelvbapdf

解决方案


推荐阅读