【问题标题】:Print the selected area into 1 Page PDF将所选区域打印到 1 页 PDF
【发布时间】:2016-09-20 11:47:48
【问题描述】:

继续下面的代码,如何将打印区域放入一页?

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "c:\Book1.pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

【问题讨论】:

    标签: vba pdf


    【解决方案1】:

    一旦你出口,它就不可能了。

    我所做的是,我将 PageSetup 更改为 .FitToPagesWide = 1导出之前)

     With ActiveSheet.PageSetup
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .Orientation = xlLandscape
    End With
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\Book1.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
    OpenAfterPublish:=True
    

    【讨论】:

    【解决方案2】:

    这是一个更好的解决方案,它确保不打印任何额外的 cmets,并且选择以 PDF 格式打印在一页上以缩放。您还将收到一个对话框,询问您将其保存在哪里可以完美运行。整个代码的美妙之处在于查看它所说的 pdf 并将格式更改为您想要的格式,它应该保存为您想要的格式:

    Sub Macro1()
    Dim file_name As Variant
    file_name = Application.GetSaveAsFilename(FileFilter:="Adobe PDF File_ (*.pdf), *.pdf")
    ActiveSheet.PageSetup.PrintComments = -4142
    
        Range("B2:X41").Select
        Selection.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=file_name, Quality:=xlQualityStandard, _
            IncludeDocProperties:=False, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
        Range("A1").Select
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2017-06-25
      相关资源
      最近更新 更多