VBA使用非标准字体将Excel转换为PDF
我正在尝试使用ExportAsFixedFormat将excel工作表导出为PDF,我的代码是创建PDF,但它用转换后的PDF中的标准字体替换了excel文件中的Myriad Pro 出口代码如下:VBA使用非标准字体将Excel转换为PDF,vba,excel,pdf,fonts,Vba,Excel,Pdf,Fonts,我正在尝试使用ExportAsFixedFormat将excel工作表导出为PDF,我的代码是创建PDF,但它用转换后的PDF中的标准字体替换了excel文件中的Myriad Pro 出口代码如下: awb.Sheets("PIN").ExportAsFixedFormat Type:=xlTypePDF, _ fileName:=strFileName, _ Quality:=xlQualityStandard, _
awb.Sheets("PIN").ExportAsFixedFormat Type:=xlTypePDF, _
fileName:=strFileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
有没有办法强迫Adobe使用我设置的字体,而不是恢复到标准字体?当我手动将一张工作表转换为PDF时,效果很好。如果Acrobat Dilleter安装在每台使用您的文件的机器上,您可以使用它。。。如果是这样,您可以这样做: 首先,在蒸馏器的打印机设置中,您需要禁用“仅依赖系统字体”选项;不要使用文档字体,否则会收到错误消息 其次,在VB编辑器的“工具”菜单中,转到“引用”选项。您需要查找并检查Acrobat蒸馏器参考 代码: 这应该是一个很好的起点
注意:对于不同版本的蒸馏器,蒸馏器的对象名称和打印机名称可能不同。当我手动将一张纸转换为PDF时,效果很好。如何转换?文件|打印还是文件|另存为?我有一个Acrobat excel外接程序,可以转换为pdf格式-在首选项中,它有一个选项“依赖系统字体”,可以取消选中。那么这个外接程序是如何工作的呢?您是否需要单击文件|打印?AFAIK,.ExportAsFixedFormat不使用AdobeTo来使用加载项进行转换-我的excel菜单中有一个acrobat选项卡,我选择了该选项卡,并有一个转换为pdf选项,然后使用预设的分页符等将所选工作表保存为pdf文件。谢谢,稍后将尝试:我已设法调整它以生成PDF文件,但现在我遇到的问题使我恢复到exportasfixedformat问题-当我尝试使用上述方法转换一张excel工作表时,我得到%%[警告:空作业。未生成PDF文件。]%%错误,工作表中肯定有内容,该方法在我们使用的几乎相同的excel工作表上运行良好-有什么想法吗?用标准打印件试试,看看你得到了什么。我猜你的打印区域很奇怪。
Sub ExportPDF()
Dim acro As New ACRODISTXLib.PdfDistiller6
Dim wk As Worksheet
Const opFile As String = "C:\test\test.ps"
Const PDFFile As String = "C:\test\test.pdf"
Const PrinterName As String = "Adobe PDF"
Set wk = Sheet1
wk.PrintOut ActivePrinter:=PrinterName, PrintToFile:=True, PrToFileName:=opFile
acro.FileToPDF opFile, PDFFile, ""
End Sub