我需要一种与语言无关的方法来获取VBA Excel 2003中的“我的文档”文件夹。
我有什么:
Public Function MyDocsPath() As String
MyDocsPath = Environ$("USERPROFILE") & "\My Documents\"
End Function
因为该程序将在至少2个MS Windows中使用,并且每个语言的“我的文档”名称都会更改。
有没有办法,或者我应该试着找出系统并变得具体?
答案 0 :(得分:31)
这可能适合:
Set WshShell = CreateObject("WScript.Shell")
strDocuments = WshShell.SpecialFolders("MyDocuments")
来自:http://msdn.microsoft.com/en-us/library/0ea7b5xe.aspx
虽然特殊文件夹名称是MyDocuments,但它引用了多个Windows版本的文档文件夹。
答案 1 :(得分:0)
您可以使用“文档”,因为本地化版本指向相同的位置。
' Application.PathSeparator can be used, but this
' is unlikely to work on non-Windows environments
MyDocsPath = Environ$("USERPROFILE") & "\Documents\"
(看到这是一个 10 年前的问题,当时可能并非如此。:)