PDF'ing Workbook - 页码分别为PDF而不是Sheet

时间:2017-11-23 18:09:18

标签: excel vba excel-vba pdf spreadsheet

我有一张包含多张纸的工作簿。有些工作表有超过1页,所以我在页脚Page &[Page] of &[Pages]中有以下内容来显示每个工作表中的页数。

然后我使用以下代码对它们进行PDF格式化:

Sub PDFSheets()
    Dim ans As Variant
    Dim fPath As String
    Dim Team As String
    ans = MsgBox("Please ensure the sheets you would like to PDF are visible before running this macro. Files will be saved to your Desktop." & Chr(10) & Chr(10) & "Do you wish to continue?", vbYesNo + vbInformation, "PDF Sheets")

    If ans = vbYes Then
        Sheets("FrontSheet").Visible = True
        Sheets("Launcher").Visible = False
        Team = Sheets("FrontSheet").Range("E21").Value
        fPath = CreateObject("WScript.Shell").specialfolders("Desktop")
        Call SelectAllSheets
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fPath & "/" & Format(Now(), "yyyymmdd") & Team & " VM", _
        openafterpublish:=True, ignoreprintareas:=False
        Sheets("Launcher").Visible = True
        Sheets("FrontSheet").Visible = False
    Else
        Exit Sub
    End If
End Sub

示例场景: -Sheet 1有1页,没有页脚 -Sheet 2有5个寻呼机,页脚Page &[Page] of &[Pages] - 然后PDF将在表2的底部输出2 of 6

这是遵守PDF的规则而不是表格中的页码。任何想法如何让我把它放到1 of 5而不是(如工作簿上所示)?

感谢任何帮助 印花布

1 个答案:

答案 0 :(得分:0)

试试这个。

With Worksheets("Launcher").PageSetup
    .RightFooter = "&""Arial""&10 Page &P of " & .Pages.Count       
End With

另外,转到页面布局 - >页面设置,在页面选项卡中,将第一页编号设置为1。