2017-09-28 72 views
0

我有一個包含多個宏的模板,該模板將分佈在多個設備上。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%來代替,但是那裏的宏什麼都沒做,沒有錯誤信息。

有沒有辦法解決這個問題?

謝謝

+1

你怎麼%APPDATA%你採用環保,(‘應用程序數據’) – peakpeak

回答

1

您可以使用環境變量在VBA代碼來獲取「用戶名」,即

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

這裏是一個鏈接顯示其他變量(或者只是使用環境搜索「VBA變量(不含引號:??https://www.wiseowl.co.uk/blog/s387/environment-variable-vba.htm

+0

我是在路徑中使用'%APPDATA%'直接,以爲它會擴大 沒」不瞭解'恩viron',謝謝! –