VBAでユーザー名を取得する方法について覚書
(1)一番シンプルな方法 (非推奨)
username01
Dim username as String
username = Environ("USERNAME")
・ユーザー名をVariant型で返す(型変換が自動)
・エラーが発生しやすい
(2)シンプルな方法($つきバージョン)
username02
Dim username as String
username = Environ$("USERNAME")
・ユーザー名をString型で返す
・エラーが発生しにくい
(3)Windowsの環境変数を取得する別のアプローチ
username03
Dim username as String
username = CreateObject("WScript.Shell").ExpandEnviromentString("%USERNAME%")
Windowsの環境変数を取得するのに、VBScriptを利用
(4)システム関数を使用する方法
username04
Dim username as String
username = Environ$("USERPROFILE")
username = Mid(username, InStrRev(username, ""+1)
USERPROFILEパスから直接ユーザー名を抽出
パス全体から最後のフォルダ名(ユーザー名)を取得
※システム環境によってはユーザー名が取得できないかも・・・
【まとめ】
セキュリティ設定などの実行環境によって仕様できるコードが変わる