分享

如何用vba把excel文件发布转化为pdf格式文件?

 高微 2019-08-19

在office 2007版本以后,微软新增了将excel文件发布转化为pdf格式文档的功能。

操作上可以单击“文件”选项卡,然后单击“导出”命令,可以选择将excel 工作簿导出为PDF文档。

在vba中,也提供了ExportAsFixedFormat方法可以将excel的Workbook 、Sheet 、Chart 、 Range等 对象导出为PDF格式。

它的语法如下:

Visual Basic
1
expression . ExportAsFixedFormat( Type , Filename , Quality , IncludeDocProperties , IgnorePrintAreas , From , To , OpenAfterPublish , FixedFormatExtClassPtr )

参数说明如下:

参数名称 必需/可选 数据类型 参数说明
Type 必需 XlFixedFormatType 可以是xlTypePDF或者xlTypeXPS。
Filename 可选 Variant 要保存的文件名的完整路径。
Quality 可选 Variant 发布的质量,可以是xlQualityStandard 或者 xlQualityMinimum。
IncludeDocProperties 可选 Variant 是否保存文档属性。
IgnorePrintAreas 可选 Variant 如果设置为True,则忽略打印区域的设置,如果为False,则按照打印区域的设置发布。
From 可选 Variant 开始发布的页码,如果这个参数省略,从第一页开始发布。
To 可选 Variant 结束发布的页码,如果这个参数省略,到最后一页结束发布。
OpenAfterPublish 可选 Variant 如果设置为True,则发布完成后会打开文件,如果为False,则发布后不显示。
FixedFormatExtClassPtr 可选 Variant 指向FixedFormatExt类的指针。

如以下代码将把工作簿中的所有工作表逐一发布为PDF格式的文件:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub QQ1722187970()
'以下代码把工作表逐一转换为PDF文件
Dim oWK As Worksheet
Dim sPath As String
sPath = Excel.ThisWorkbook.Path
For Each oWK In Excel.ThisWorkbook.Worksheets
sName = sPath & "\" & oWK.Name & ".pdf"
oWK.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sName
Next
End Sub

 





    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多