関数・メソッド

環境変数の値を取得する【Environ関数】【ExcelVBA】

構文

Environ({envstring | number})) 

envstring・・・取得したい環境変数名
number  ・・・取得したい環境変数番号(1~255までで指定)
※envstringもしくはnumberどちらかは入力必須
Environ関数はWindowsが保持している環境変数(OS名やユーザー名等)を取得する関数です。

Environ関数のサンプルコード

Public Sub test_Environ()
    
    '■通常使用方法 ※コメントは表示例でPCにより結果は異なる
    MsgBox Environ("COMPUTERNAME")  'DESKTOP-XXXX
    MsgBox Environ("USERNAME")      'USER
    MsgBox Environ("username")      'USER
    
    MsgBox Environ(1)               'ALLUSERSPROFILE=C:\ProgramData
    MsgBox Environ(2)               'APPDATA=C:\Users\USER\AppData\Roaming

    '■設定されていない環境変数を指定すると空("")の文字列が戻り、エラーとはならない
    MsgBox Environ("aaa")
    
    '■引数を指定せず省略するとエラーとなる(引数は省略できません)
    'MsgBox Environ()
    '■1~255以外の値を入力するとエラーとなる(実行時エラー5 プロシージャーの呼び出し、または引数が不正です)
    MsgBox Environ(256)

End Sub

環境変数の一覧

環境変数名 取得できる値の内容
ALLUSERSPROFILE All Usersのプロファイルパス
APPDATA アプリケーションデータフォルダ
COMMONPROGRAMFILES プログラムファイル用の共通ディレクトリ
COMPUTERNAME コンピュータ名
COMSPEC cmd.exe(コマンドプロンプト)のフルパス
FP_NO_HOST_CHECK Microsoft FrontPage用の環境変数、謎です…
HOMEDRIVE ホームドライブ
HOMEPATH ログインしているユーザーのホームディレクトリのパス
LOGONSERVER ログオンしているサーバの名前
NUMBER_OF_PROCESSORS 使用しているPCのプロセッサー数
OS オペレーティングシステム名
PATH 環境変数Pathに設定されているパス一覧
PATHEXT 拡張子なしで実行できるファイル一覧
PROCESSOR_ARCHITECTURE プロセッサーアーキテクチャ
PROCESSOR_IDENTIFIER プロセッサーの説明
PROCESSOR_LEVEL プロセッサーのモデル番号
PROCESSOR_REVISION プロセッサーのリビジョン番号
PROGRAMFILES プログラムファイルの共通ディレクトリ
PROMPT コマンドプロンプトに表示する文字列指定
SESSIONNAME セッション名
SYSTEMDRIVE システムのドライブレター
SYSTEMROOT システムのルートディレクトリ
TEMP アプリケーションのテンポラリーフォルダパス
TMP アプリケーションのテンポラリーフォルダパス
USERDOMAIN ログオンしているドメイン名
USERNAME ログオンしているユーザー名
USERPROFILE ユーザプロファイル
WINDIR Windows OSインストールディレクトリ

関連記事

共有のエクセルファイルを誰が開いたか記録する【ExcelVBA】

コメント

  1. Macの環境変数を取得する関数または方法はないのでしょうか?

タイトルとURLをコピーしました