我有一个保存pdf的按钮,将保存在Sheet1和Sheet2上的所有页面。现在的问题是,我不能让VBA代码只保存每个工作表的第一页,而不保存每个工作表的第1、2和3页。
我已经创建了一个保存为PDF的按钮,它将保存Sheet1和Sheet2,但它打印每个工作表上的所有页面。我只想为每个工作表保存第一页。
Private Sub PrintAllInvoices()
Dim FolderPath As String
FolderPath = "C:\Users\MyComputer\Desktop\PDFs"
MkDir FolderPath
Sheets(Array("Sheet1", "Sheet2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FolderPath & "\Sales", _
OpenAfterPublish:=False, IgnorePrintAreas:=False, From:=1, To:=1
MsgBox "All PDF's have been successfully exported."
End Sub
我希望当PDF保存时,它将保存Sheet1(第1页)和Sheet2(第1页)。我只希望保存每个工作表的第一页。
发布于 2019-11-01 12:58:37
尝试一下,用您自己的文件路径替换dir
。只要您对该路径具有写入权限,在运行宏后,您应该会看到该路径中每个工作表的1页pdf。一旦对您有效,请根据需要进行修改。
Option Explicit
Sub pdfSavePage()
Dim sh as worksheet
Const dir = "C:\Users\Tony\Documents"
ChDir dir
For each sh in ThisWorkbook.worksheets
sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
dir & "\" & sh.Name & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
OpenAfterPublish:=False
next sh
End Sub
如果您希望将所有这些pdf文件合并到一个文档中,在Mac中使用Preview
程序很容易做到,只需将它们拖到第一个文档的侧边栏区域。毫无疑问,在你的操作系统中还有其他程序可以做同样的事情。
https://stackoverflow.com/questions/58659268
复制相似问题