MS Word宏 - 使用系统变量作为模板路径

时间:2017-09-28 14:39:28

标签: vba ms-word word-vba

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

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

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%代替,但宏没有做任何事情,没有错误消息。

有什么方法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

以下是显示其他变量的一个链接(或仅使用环境变量搜索' VBA;(不含引号:https://www.wiseowl.co.uk/blog/s387/environment-variable-vba.htm