我为此寻找过互联网。到目前为止,我知道:
VBA本身无法在pdf文件中运行。 VBA是Microsoft专有的编程语言,仅适用于某些Microsoft产品(如Office),而pdf格式不是来自Microsoft且不支持VBA。
因为打印到PDF涉及第三方软件,无论是Adobe还是其他PDF打印机,据我所知,Excel无法将文件名和位置直接发送到PDF打印机。
因此.ExportAsFixedFormat将不包含最终pdf中的超链接。
是否有任何方式,使用其他软件或编码或任何东西,创建包含超链接的pdf,而不是手动创建。即如何自动创建pdf以包含超链接?我已经尝试过Excel 2016和2010.
我们有软件可以每天自动创建Excel报告,保存文件,保存pdf,并将电子邮件发送给人们。我知道你可以用Adobe编写脚本,但我怎样才能让它们自己每天运行?或者也许其他一些软件可以做到这一点?
任何想法都将不胜感激。
答案 0 :(得分:0)
使用以下代码,超链接适用于PDF:
Sub SaveAsPDF()
Dim sPath As String
sPath = Environ("Temp") & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPath & "File name here" & ".pdf", Quality:= _
xlQualityStandard, includedocproperties:=False, ignoreprintareas:=False, _
openafterpublish:=False
ActiveWorkbook.Save
End Sub
答案 1 :(得分:0)
像petgiraffe19一样,我同时使用超链接功能和PDF导出时遇到了麻烦。我的解决方案是通过VBA创建超链接,例如:
Worksheets("Sheet1").Hyperlinks.Add Anchor:=Range("A1"), _
Address:="https://stackoverflow.com", _
ScreenTip:="Link to stackoverflow", _
TextToDisplay:="Link"
根据字体设置,可能需要重置字体,这也可以通过VBA完成:
With Range("A1").Font
.Name = "Calibri"
.Size = 9
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
最后,ExportAsFixedFormat
可用于导出,其中包括带有超链接的单元格。