【问题标题】:MS Word macro - use system variable for template pathMS Word 宏 - 使用系统变量作为模板路径
【发布时间】:2017-09-29 04:37:43
【问题描述】:

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

我有以下宏来使用 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%,但宏什么也没做,也没有错误消息。

有没有办法解决这个问题?

谢谢

【问题讨论】:

  • 如何获得 %Appdata% ?你使用 Environ("Appdata") 吗?

标签: vba ms-word


【解决方案1】:

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

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

这是一个显示其他变量的链接(或者只搜索“使用环境变量的 VBA”(不带引号:https://www.wiseowl.co.uk/blog/s387/environment-variable-vba.htm

【讨论】:

  • 我在路径中直接使用%appdata%,认为它会扩展。不知道Environ,谢谢!
猜你喜欢
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 2011-05-22
  • 2011-02-19
  • 1970-01-01
相关资源
最近更新 更多