【发布时间】:2011-10-19 15:02:49
【问题描述】:
必须在 Windows XP 下的多台计算机上部署 VBA 应用程序,我需要在通用位置自动创建特定文件,独立于硬盘驱动器、目录结构甚至操作系统语言:C 驱动器的根目录,即 C:\
这工作得很好......直到这些计算机开始迁移到 Vista 或 Windows 7,我发现不容易在 C 驱动器上写入。 什么是可以在任何版本的 Windows 下以任何语言为所有用户工作的替代通用可写位置?
【问题讨论】:
必须在 Windows XP 下的多台计算机上部署 VBA 应用程序,我需要在通用位置自动创建特定文件,独立于硬盘驱动器、目录结构甚至操作系统语言:C 驱动器的根目录,即 C:\
这工作得很好......直到这些计算机开始迁移到 Vista 或 Windows 7,我发现不容易在 C 驱动器上写入。 什么是可以在任何版本的 Windows 下以任何语言为所有用户工作的替代通用可写位置?
【问题讨论】:
调用一个 Windows API 来返回相应机器上的SpecialFolder 的路径并使用它——例如非常适合
CSIDL_COMMON_DOCUMENTS(非特定用户)CSIDL_COMMON_APPDATA(非用户特定)CSIDL_APPDATA(特定于用户/应用程序)CSIDL_MY_DOCUMENTS(特定于用户)Windows API 负责您描述的所有内容 - 上面的位置是可写的,适用于所有 Windows 版本,并且不依赖于语言。
有关 VBA 源代码和示例,请参阅http://www.cpearson.com/excel/SpecialFolders.aspx
有关 MSDN 参考资料,请参阅:
【讨论】:
appdata 只是位置的名称,并且已经是我上面答案的一部分...请不要忘记投票/标记为已接受任何有帮助的答案...跨度>