在VBA Excel 2003中获取“我的文档”文件夹的语言无关方式

时间:2011-10-13 08:39:59

标签: excel vba excel-2003

我需要一种与语言无关的方法来获取VBA Excel 2003中的“我的文档”文件夹。

我有什么:

Public Function MyDocsPath() As String
    MyDocsPath = Environ$("USERPROFILE") & "\My Documents\"
End Function

因为该程序将在至少2个MS Windows中使用,并且每个语言的“我的文档”名称都会更改。

有没有办法,或者我应该试着找出系统并变得具体?

2 个答案:

答案 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 年前的问题,当时可能并非如此。:)