首页 > 解决方案 > Excel VBA宏将pdf保存到特定文件路径

问题描述

尝试创建一个excel宏按钮来创建和保存一系列数据的pdf,宏在我的电脑上运行没有问题。

但是我需要共享 excel 工作簿,我们不使用使用 Dropbox 的网络,因此我的文件路径通过我的用户名保存:“C:\Users\Username\...Dropbox

我可以删除我的名字以便打开文件的人可以使用宏吗?

这是我到目前为止创建的代码,虽然它仍然适用于我的笔记本电脑,但它不适用于其他用户:

Sub Create_PTC_pdf()
    Range("A76:G137").Select
    ActiveSheet.PageSetup.PrintArea = "$A$76:$G$137"
    ChDir "C:\Users\" & Range("F168").Text & "\Dropbox"
    ActiveSheet.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:= "C:\Users\" & Range("F168").Text & "\Dropbox " & Format(Date, "yyyy mm dd") & Range("O142").Text & ".pdf", _
        Quality:=xlQualityStandard, _ 
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
End Sub

引用一个单元格,该Range("F168").Text单元格获取工作簿中任何人的用户名。

标签: vbaexcel

解决方案


尝试这个:

Sub Create_PTC_pdf()

    Dim sPath As String

    sPath = Environ("userprofile") & "\Dropbox\"

    With ActiveSheet
        .PageSetup.PrintArea = "$A$76:$G$137"
        .ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=sPath & Format(Date, "yyyy mm dd") & .Range("O142").Text & ".pdf", _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
    End With

End Sub

推荐阅读