Excel VBA更改Application.GetOpenFilename的默认目录

Gra*_*hth 0 excel vba excel-2007 excel-vba

我用Google搜索并找到了部分问题的答案,但不是完整的问题.我想在Excel VBA中使用Application.GetOpenFilename打开一个文件,我想让它在与ThisWorkbook.Path相同的目录中打开.我发现事先我能做到

OpenPath = ThisWorkbook.Path
ChDrive OpenPath
ChDir OpenPath
Run Code Online (Sandbox Code Playgroud)

但是,在运行之后,如果我运行任何其他Application.GetOpenFilename,它仍然会访问同一个目录(直到我关闭Excel ???).但是,我希望它恢复到默认目录(无论是什么).在我的计算机上,它是Windows XP,它恰好是MyDocuments.但是,一些使用它的人可能有XP,有些可能有Windows 7.我找不到任何地方如何找出原始的默认目录是什么,以便我可以存储这样,以便我以后可以重置回默认.任何帮助将非常感激.

Kaz*_*wor 5

所以,这可能是解决方案:

Dim StartingDir as string
    StartingDir = CurDir

'...your code here

ChDir StartingDir    'just before you leave
Run Code Online (Sandbox Code Playgroud)

如果有必要,做类似的Drive.