Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba MS Word宏-将系统变量用于模板路径_Vba_Ms Word - Fatal编程技术网

Vba MS Word宏-将系统变量用于模板路径

Vba MS Word宏-将系统变量用于模板路径,vba,ms-word,Vba,Ms Word,我有一个包含多个宏的模板,该模板将分布在多个设备上 我有以下宏使用ms word的快速部分插入文本 Application.Templates( _ "C:\Users\user_name\AppData\Roaming\Microsoft\Word\STARTUP\template_name.dotm" _ ).BuildingBlockEntries("alphabet").Insert Where:=Selection.Range, _ RichText:=True A

我有一个包含多个宏的模板,该模板将分布在多个设备上

我有以下宏使用ms word的快速部分插入文本

Application.Templates( _


"C:\Users\user_name\AppData\Roaming\Microsoft\Word\STARTUP\template_name.dotm" _
    ).BuildingBlockEntries("alphabet").Insert Where:=Selection.Range, _
    RichText:=True
ActiveDocument.TrackRevisions = Not ActiveDocument.TrackRevisions
问题是,代码包含模板的绝对路径,在不同的机器上,绝对路径是不同的

我尝试过改用
%Appdata%
,但宏没有做任何操作,也没有错误消息

这有什么办法吗


谢谢

您可以在VBA代码中使用环境变量来获取“用户名”,即

"C:\Users\" & LCase(Environ("UserName")) & "\AppData\Roaming\.."

这里有一个链接可以显示其他变量(或者只搜索“VBA using environmental variables”(不带引号:

如何获取%Appdata%?是否使用Environ(“Appdata”)?我在路径中直接使用了
%Appdata%
,认为它会扩展。不知道
Environ
,谢谢!