HOME > 即効テクニック > Excel VBA > その他関連のテクニック > 環境変数の値を取得する(Environ関数)

環境変数の値を取得する(Environ関数)|Excel VBA

その他関連のテクニック

環境変数の値を取得する(Environ関数)

(Excel 2000/2002/2003/2007/2010/2013/2016)

● 概要 ●

Environ関数を利用すると、Windowsの環境変数を取得することが可能です。Environ関数は、環境変数に割り当てられた文字列を返します。 また、指定した環境変数が存在しない場合、長さ0の文字列("")を返します。

構文 Environ(Expression)

設定項目内容
Expression環境変数の名前を表す文字列か環境変数のエントリ番号を表す値を指定

また、主な環境変数の名前は、下記の通りです。

環境変数の名前説明
PATHPATH環境変数
OSオペレーティングシステム
HOMEDRIVEプライマリ ローカル ドライブ
HOMEPATH既定のユーザー用ディレクトリ
TEMPtempディレクトリ
USERNAMEユーザー名
WINDIRシステムディレクトリ

次のサンプルは、環境変数"USERNAME"の情報を取得します。Environ関数を利用して取得した環境変数の値が、"USERNAME="で始まるかを確認し、始まる場合は、そのエントリ番号とユーザー名をメッセージボックスに表示します。

● サンプル ●
Sub Sample()
    Dim environmentString As String
    Dim i As Long
    
    i = 1
    Do
        environmentString = Environ(i)
        If Left(UCase(environmentString), 9) = "USERNAME=" Then
            MsgBox "環境変数のエントリ番号は、" & i & vbCrLf _
            & "ユーザー名は、" _
            & Mid(environmentString, 10, Len(environmentString)) & " です。"
            Exit Do
        End If
        i = i + 1
    Loop Until Environ(i) = ""
End Sub
● ポイント ●

環境変数の名前は、環境によって、大文字小文字が異なる場合があります。 ここでは、どちらで記述されていても対応できるように、UCase関数を利用して、取得した環境変数の文字列を大文字に変換してから文字列"USERNAME"と比較しています。