我正在尝试让 Excel 将我的表格导出为 PDF 文件。问题是,它总是用相同的数据导出 PDF。添加更多条目或删除它们都没有关系。
这是我设法将我的初学者 VBA 技能放在一起的代码:
Sub export_pdf()
Dim area As String
area = Range("B3:H1048576").End(xlUp).SpecialCells(xlCellTypeConstants, 3).Address
With ActiveSheet.PageSetup
.PrintTitleRows = "$3:$3"
End With
ActiveSheet.PageSetup.PrintArea = "" & area
With ActiveSheet.PageSetup
.CenterHeader = "Käyttöpäiväkirja"
.CenterFooter = "Sivu &P / &N"
.LeftMargin = Application.InchesToPoints(0.590551181102362)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
End With
ActiveSheet.ExportAsFixedFormat pbFixedFormatPDF, "käyttöpäiväkirja.pdf"
End Sub
有任何想法吗?
最佳答案
我试过你的代码,它看起来很好,除了:
ActiveSheet.ExportAsFixedFormat pbFixedFormatPDF, "käyttöpäiväkirja.pdf"
您实际上需要提供文件的完整路径名以及 .pdf 扩展名。
我想应该是
Drive:\Folder\SubFolder....\Filename.pdf
.您可以随时使用 Windows Special Folder
使用 FileSystemObject
如果您要与其他用户共享它,则可以获取与用户无关的路径。我强烈建议您让 Excel 确定最后一行数据,而不是在
H
中任意设置一个极高的 long。柱子。我认为这样做会使您的代码在运行时运行得更快:Dim lastrow As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "H").End(xlUp).Row
End With
area = Range("B3:H" & lastrow).End(xlUp).SpecialCells(xlCellTypeConstants, 3).Address
关于Excel:导出为 PDF 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28781892/