如何在Excel的VBmacros中发布到PDF?

我有一个生成网页的macros的工作表(代码如下)。 我想改变这个,所以它会生成一个PDF。 可以这样做吗?

Sub publishwebpages() 'calculate how many iterations x = 0 Sheets("webpagegen").Select Range("n1").Select Range("n1").Copy noofpages = ActiveCell.Value 'step through and select each customer For x = 0 To noofpages 'For x = 364 To 366 Sheets("listcust").Select Range("A2").Select ActiveCell.Offset(x, 0).Range("A1").Select Selection.Copy Sheets("webpagegen").Select Range("l1").Select ActiveSheet.Paste 'name folder and filename Sheets("webpagegen").Select Range("ac2").Select Range("ac2").Copy foldername = ActiveCell.Value 'publish pages Range("d3:q80").Select Application.CutCopyMode = False Selection.Copy ActiveWorkbook.PublishObjects.Add(xlSourceRange, "D:\Temp\" & foldername, "webpagegen", "$d$3:$q$80", xlHtmlStatic, "custweb08 current_8162", "").Publish (True) Next x End Sub 

如果您使用的是Excel 2010>,它允许您将工作簿/ Excel表格保存为PDF内build的function,我们以前只有因为这个而在Excel中运行报表

您可以尝试以“另存为…”格式logging,如PDF格式,可能如下所示:

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "c:\Book1.pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=True 

注意:我已经在Excel 2010上尝试过了,在其他版本中可能看起来不同。