目录名中有空格的 GetSaveAsFilename

GetSaveAsFilename with spaces in directory name

我有一个代码可以将模板保存在一个固定的目录中,其中包含自定义但建议的文件名。但是,我还想将其应用于名称中带有 space 的目录中的另一个模板。

我在另一个问题中读到一个关于 space 的答案使它变得更复杂。 (GetSaveAsFilename default folder) 个回答:

this works:

x = Application.GetSaveAsFilename(InitialFileName:="C:\mydocuments\music\", _
    fileFilter:="Text Files (*.*), *.*")

但是,如果您在 filespec 中有 spaces,它会变得有点棘手。例如,这个:

x = Application.GetSaveAsFilename(InitialFileName:="%USERPROFILE%\My Documents\My Music", _
    fileFilter:="Text Files (*.*), *.*")

只得到 My Documents 并且认为 My Music 是文件名。希望这会有所帮助。)

那么,如何才能拥有名称中带有 space 的正确目录?

用引号将您的路径括起来:

"""%USERPROFILE%\My Documents\My Music"""

将空格识别为路径的一部分而不是分隔符。