VBAでプログラムを組むとき、プログラムを実行するユーザの環境に合わせて組むときがある。
例えばユーザ名を取得して処理を分岐するとか、ユーザのデスクトップに名前を付けて保存するとか。
それはPCのもつ環境変数というものがあるので、それをVBAで取得すればよい。
そもそも環境変数って何があるの?と思ったときに調べるコマンド
コマンドプロンプトを開いて
C:\Users\User> set
これだけ。ずらっと表示されるはず。
それをVBA側で使うときは、environ()を使う。引数を与えてあげればその値を戻してくれる。
たとえばユーザ名をMsgboxで表示するなら
Msgbox environ(‘USERNAME’)
とする。ログインしているユーザ名が表示されるはず。
といっても、他に使えそうな変数は、ユーザディレクトリを取得する、USERPROFILEくらいかな。
コメント