将工作表的第一页和第三页导出为 pdf

Export to pdf first and thrid page of the worksheet

我的问题如下: 我有一份报告,我必须每天制作、保存并导出为 PDF。所以,最近我发现并合并了宏来保存前两页并通过 outlook 将其发送给选定的人。现在我想升级这个文件,所以我只需要将第一页和第三页导出为 PDF。这是负责导出的代码示例:

  With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF, filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False, From:=1, To:=2
  End With

这条线应该怎么改造?

据我所知,您只能为 ExportAsFixedFormat 方法指定起始页和终止页。通过 1 和 3,PDF 还将包含第 2 页。

但是,该命令不会包含隐藏行,因此您只需在导出前暂时隐藏这些行即可。缺点:如果你在页眉页脚打印页码,第3页会变成第2页

With ActiveSheet
    Dim page2 As Range

    If .HPageBreaks.Count >= 2 Then
        Set page2 = .Range(.HPageBreaks(1).Location,  .HPageBreaks(2).Location.Offset(-1, 0))
        page2.EntireRow.Hidden = True
    End If

    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
                        IgnorePrintAreas:=False, OpenAfterPublish:=False, From:=1, To:=2

    If Not page2 Is Nothing Then page2.EntireRow.Hidden = False
End With