【问题标题】:Converting multiple sheet Excel file to PDF using VBA error使用 VBA 错误将多个工作表 Excel 文件转换为 PDF
【发布时间】:2017-01-31 16:15:42
【问题描述】:

我目前正在尝试使用以下代码使用 VBA 将多页 Excel 文件转换为 PDF:

Private Sub CommandButton1_Click()

Dim mySheets As Variant, sh

mySheets = Array("Sheet1", "Sheet2", "Sheet3")
For Each sh In mySheets
    Sheets(sh).PageSetup.Orientation = xlLandscape
Next

Sheets(mySheets).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="S:\GasInc\Services\B&ITS\OpsEng\EngServ\_Station Design\Projects\Station Co-ops\Angela Lian" & ".pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False

End Sub

它可以很好地转换我的文件,但是对于我在工作表 2 上的内容,它将它拆分为 PDF 中的多个页面,因为我猜它不会缩放它以适应页面。我想知道如何修改代码以使其缩放此工作表,使其适合 PDF 的一页。

谢谢!

【问题讨论】:

  • this answer。您基本上必须检查.VPageBreaks 的第一个成员,计算第一个中断的宽度,然后缩放以适应分页符。

标签: vba excel pdf pdf-generation


【解决方案1】:

我使用的其中一个工具中有一个类似的子。您是否将工作表的宽度/高度比例设置为 1 页以适应属性?

For Each sh In mySheets
    With Sheets(sh).PageSetup
        .Orientation = xlLandscape
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
Next sh

我遇到的一件奇怪的事情是在使用某些图表/图像对象转换为 PDF 时出现缩放问题。例如,一个标志在屏幕上看起来很好,但在 pdf 上打印出来了。我从来没有解决过这个问题,但通过研究,这似乎是由于打印机看到它的方式与屏幕分辨率相比。你遇到过这个问题吗?

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2016-10-04
    • 1970-01-01
    • 2018-12-31
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2021-04-22
    相关资源
    最近更新 更多