【问题标题】:VBA How to get path to The Current Users Application data folder?VBA 如何获取当前用户应用程序数据文件夹的路径?
【发布时间】:2010-11-01 20:51:36
【问题描述】:

一般来说,

使用 VBA,我如何确定 Current users Application Data 文件夹在哪里?

FileSystemObjects 特殊文件夹只知道 3 个文件夹

  • Windows 文件夹
  • 系统文件夹
  • 临时文件夹

具体来说,我需要一个 Word 宏来将文件复制到 Application Data 文件夹下的文件夹中。

例如在 VB.Net 中,我可以使用 My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData 来执行此操作

【问题讨论】:

    标签: vba windows ms-word filesystems


    【解决方案1】:

    您可以使用Environ("AppData") 获取此路径。 Environ 将拉取任何系统变量,可以在 DOS 提示符下使用 set 命令找到。

    【讨论】:

    • 我从没想过要检查环境字符串,这是一种享受,谢谢 :)
    • 我认为 Environ() 方法不可靠,因为用户可以更改环境变量并可能导致意外结果。使用 Windows API 可能会更好。这是查找 Documents / My Documents 文件夹的示例:dailydoseofexcel.com/archives/2009/02/26/… 如果您能找到一种方法来为 AppData 文件夹执行此操作,那可能是更好的方法。
    【解决方案2】:

    使用advapi32.dll,您可以通过

    获取USERPROFILE
    Environ("USERPROFILE")
    

    将其与“应用程序数据”目录(具有标准的特定名称)连接以获得您想要的内容

    CStr(Environ("USERPROFILE") & "\Application Data")
    

    欲了解更多信息,请查看MSDN

    【讨论】:

    • 使用CStr() 转换为字符串的替代方法是在运行前使用其类型字符$ 显式询问字符串数据类型 - Environ$()
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    相关资源
    最近更新 更多