首先,加载引用,如图
然后,在打印机中对Acrobat Distiller的打印进行设置设置(必须,否则转化出错!)
Public Sub MakePDF(ByVal strPDFFileName As String)
Dim strPSFileName As String
Dim xlWorksheet As Worksheet
Dim objPdfDistiller As PdfDistiller
strPSFileName = Left(strPDFFileName, InStrRev(strPDFFileName, "/")) &"tmpPostScript.ps"
Set xlWorksheet = ActiveSheet
Call xlWorksheet.PrintOut(copies:=1, preview:=False, ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True, prtofilename:=strPSFileName)
Set objPdfDistiller = New PdfDistiller
Call objPdfDistiller.FileToPDF(strPSFileName, strPDFFileName, "")
Call Kill(strPSFileName)
End Sub
不明白为什么不用PDF插件直接生成PDF文档?
vbaexcel转成pdf没有限制范围。vba的英文全称是VisualBasicforApplications,是一门标准的宏语言。VBA语言不能单独运行,只能被office软件所调用。VBA是一种面向对象的解释性语言,通常使用来实现Excel中没有提供的功能、编写自定义函数、实现自动化功能等。推荐下面免费的方法转成PDF试试:方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:使用专门的转换软件,把文件转成PDF文件;
方法三:用其他虚拟打印机转成PDF文件。
方法四:用WPS本身自带的转换功能转成PDF文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)