我有一个包含多个宏的模板,这个模板将分布在多个设备上。
我有以下宏来使用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%
代替,但宏没有做任何事情,没有错误消息。
有什么方法吗?
谢谢
答案 0 :(得分:1)
您可以在VBA代码中使用环境变量来获取用户名'即。
"C:\Users\" & LCase(Environ("UserName")) & "\AppData\Roaming\.."
以下是显示其他变量的一个链接(或仅使用环境变量搜索' VBA;(不含引号:https://www.wiseowl.co.uk/blog/s387/environment-variable-vba.htm