2017-09-28 5 views
0

私はいくつかのマクロを含むテンプレートを持っています。このテンプレートはいくつかのデバイスに配布されます。MS Wordマクロ - テンプレートパスにシステム変数を使用

私は以下のマクロを使用して、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%を使用しようとしましたが、マクロは何もせず、エラーメッセージも表示されませんでした。

これには何らかの方法がありますか?

はここすなわち

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

あなたは「ユーザー名」を得るためにあなたのVBAコードで環境変数を使用することができますあなたの

+1

はどのようにして、%APPDATA%以下を得るのですかあなたは、私はそれが展開されます考えて、直接パスに '%のAPPDATA%で'使用していましたENVIRON( "APPDATA") – peakpeak

答えて

1

ありがとう一方のリンクは、他の変数を表示する(あるいは単に環境の使用VBA」を検索することです変数の引用符(:?。https://www.wiseowl.co.uk/blog/s387/environment-variable-vba.htm

+0

を使用しています はdidnの」 'Enについて知りませんviron'、ありがとう! –

関連する問題