使用VBA错误将多个Excel Excel文件转换为PDF

时间:2016-09-22 22:44:51

标签: excel vba excel-vba pdf pdf-generation

我目前正在尝试使用以下代码使用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的一页。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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