VBA在文本文件中存储包含Environ(“ username”)的路径

时间:2018-10-21 23:06:54

标签: vba word-vba filepath

我正在尝试创建一个存储文件夹路径的文本文件。然后通过vba子引用此文本文件。我要使用的路径类似于:

"C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Templates"

这在子程序中效果很好,但是我尝试了文本文件中的各种变体,但是没有一个变体被识别并触发错误52-错误的文件。

有没有办法使这项工作有效?我正在尝试允许人们设置其他文件路径,而无需修改代码。

1 个答案:

答案 0 :(得分:0)

如果您尝试提供存储用户模板的文件夹的路径,则可以尝试

ActiveDocument.AttachedTemplate.Path

作为替代方法(为用户返回当前模板的存储路径)。

否则将路径模板存储为类似的

"C:\Users\###UserName###\AppData\Roaming\Microsoft\Templates"

这将为您提供一个要检索的字符串。然后,您可以使用VBA替换功能将### UserName ###更改为Environ(“ UserName)”的值

my_user_path = replace(my_path_template, Environ$("UserName"))

您可能还想探索使用CustomDocumentProperty还是变量来存储路径模板,因为这会将路径模板字符串保留为文档或模板的一部分,而不是放在单独的文件中。