在桌面上以PDF格式存储excel工作表

在桌面上以PDF格式存储excel工作表,excel,pdf,vba,Excel,Pdf,Vba,我有以下代码以PDF格式存储工作表。我想控制它的存储位置,即它们的桌面。有人能告诉我怎么做吗。谢谢 Sub SaveAsPDF() Dim i As Long Dim PdfFile As String, Title As String ' Not sure for what the Title is Title = Range("B1") ' Define PDF filename PdfFile = Range("F3") i = InStrRev(PdfFile, ".") If i

我有以下代码以PDF格式存储工作表。我想控制它的存储位置,即它们的桌面。有人能告诉我怎么做吗。谢谢

Sub SaveAsPDF()
Dim i As Long
Dim PdfFile As String, Title As String

' Not sure for what the Title is
Title = Range("B1")

' Define PDF filename
PdfFile = Range("F3")
i = InStrRev(PdfFile, ".")
If i > 1 Then PdfFile = Left(PdfFile, i - 1)
PdfFile = PdfFile & ".pdf"

' Export activesheet as PDF
With ActiveSheet
  .ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With

End Sub

如果您始终希望在没有任何用户干预的情况下保存到桌面:

PdfFile = createobject("Wscript.Shell").Specialfolders("Desktop") & "\" & PdfFile & ".pdf"

Rory回答的另一个选择是使用windows环境变量“userprofile”


+感谢你准确地回答了OP的要求:)非常感谢Rory和Andreas!为Windows工作。
PdfFile = Environ("userprofile") & "\desktop\" & PdfFile & ".pdf"