Excel VBA:如何使用唯一的用户名或保存位置来导出 PDF 宏

Excel VBA:如何使用唯一的用户名或保存位置来导出 PDF 宏

我有一个宏,它使用内部 Excel 方法 ExportAsFixedFormat 将工作表打印为 pdf,并使用唯一的文件名结构将文档保存到桌面。

ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="C:\Users\UNIQUE_USER\Desktop\" & Right(Range("D11"), 8) & "_ALL_SALES.pdf", _
     Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

这对我来说没问题。但是,如果我想将此工作表共享给我工作中的另一个用户(并且不需要他们重写宏),是否有办法使用他们唯一的用户名或目录保存 pdf 文档。是否有适用于所有用户的默认目录/路径?

答案1

可以使用以下命令检索当前登录用户的根用户文件夹的完整路径:

Environ("USERPROFILE")

要将文件保存到用户的桌面,就像您所做的那样,您可以使用:

Environ("USERPROFILE") & "\Desktop\" & ...

对于您提供的特定代码

ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=Environ("USERPROFILE") & "\Desktop\" & Right(Range("D11"), 8) & "_ALL_SALES.pdf", _
     Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

相关内容