以特定顺序将多个页面导出为 PDF

Posted

技术标签:

【中文标题】以特定顺序将多个页面导出为 PDF【英文标题】:Exporting multiple pages to PDF in a specific order 【发布时间】:2012-11-28 01:15:28 【问题描述】:

我正在尝试将工作簿的两个不同工作表中的页面导出为 1 个 PDF。

但是,我希望页面按以下顺序排列:Sheet1 中的 1 页,Sheet2 中的 5 页,Sheet1 中的 2 页。

目前我将这些导出为 3 个单独的 PDF,然后将它们合并到另一个应用程序中。

我一直使用的代码如下:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=sPath & quotept1filename, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=sPath & quotept2filename, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=2, To:=3, OpenAfterPublish:=False

Sheets("PPA Print Ready Quote").Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=sPath & optionsfilename, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=NumberOfOptions, OpenAfterPublish:=False

我怎样才能让它们按照我想要的顺序打印为一个 PDF?

【问题讨论】:

您可以在文件中设置一个选项卡,该选项卡的每个部分都按照您希望打印的顺序包含分页符、格式等,但数据链接到原始工作表。然后你只需打印那张纸。如果各部分之间的格式差异太大而无法放入一个选项卡中,您可以使用多个选项卡按您想要的顺序设置它,然后在打印之前选择所有选项卡,它将按照您想要的顺序打印。您还可以隐藏此工作表,以免其他人看到它们。 谢谢。我真的不想在工作簿中添加更多选项卡。我使用这种方法大约 6 次,这意味着再添加大约 20 个标签。我也不想复制数据。我可以选择我想要的范围作为数组然后导出吗? 您可以尝试同时选择每个区域并仅打印所选内容,但它不适用于多张纸。我认为您坚持使用当前方法或我提出的方法。复制数据在 Excel 中并不少见,尤其是出于格式化/演示目的。我已经做过很多次了。您可以让宏按照您想要的顺序复制数据,然后将其打印为 PDF,然后将其清除。 我想我会坚持我目前的方法。我不想重复,因为它会导致太多错误。我不想检查/更新我需要的所有选项卡的重复页面。感谢您的帮助。 我不是想说服你,只是让你了解更多(希望如此)这不是重复,真的。您只需使用公式将第二页链接到您已有的值。首次设置后无需检查。 【参考方案1】:

这似乎不是最好的方法,但我个人使用 PrimoPDF 之类的驱动程序来执行此操作。通过打印 PrimoPDF 所需的所有页面,您将获得一个 pdf 文件,其顺序与发送到标准打印机时的显示顺序相同。

可以在这里免费下载http://www.primopdf.com/

【讨论】:

对不起,但这对我没有帮助。我不能在每个客户的电脑上安装这样的驱动程序。我需要通过代码来完成。

以上是关于以特定顺序将多个页面导出为 PDF的主要内容,如果未能解决你的问题,请参考以下文章

按顺序合并多个pdf

如何按顺序批量打印PDF\WORD\EXCEL格式的文件 混合打印500多个文件?

通过前端js将页面表格导出为PDF

s-s-rS 2008 - 导出为 pdf 时出现多个报告页面差异

如何将特定页面从一个pdf附加到另一个pdf?

如何把一网站页面变成pdf文件