#683 環境変数の値を取得するには? VBA

Windowsには、OSの設定に関するいくつかの値が保存されているシステム的な変数があります。その変数のことを『環境変数』といいます。たとえば、一時的なファイルの保存場所を表す「TEMP」、プログラムのインストール先を表す「ProgramFiles」などがあります。

これらの変数は、『Environ』関数を使うことでVBAのプログラムからその値を参照・取得することができます。

下記のプログラム例では、”Environ関数の引数に番号を指定”することで、すべての環境変数の名前と値をイミディエイトウィンドウに出力しています。

Sub EnvSample1()

  Dim intNum As Integer

  intNum = 1
  Do Until Environ(intNum) = ""
    Debug.Print Environ(intNum)
    intNum = intNum + 1
  Loop

End Sub

※この指定方法の場合、Environ関数の返り値は「<環境変数名>=<その値>」という形式の文字列となります。
※Environ関数は指定した変数が存在しない場合は長さ0の文字列を返します。ここではそれをループの終了条件としています。

実行例:



下記のプログラム例では、”Environ関数の引数に環境変数名を指定”することで、特定の環境変数である「OS」や「WINDIR」などの値をイミディエイトウィンドウに出力しています。

Sub EnvSample2()

  Debug.Print Environ("OS")
  Debug.Print Environ("WINDIR")
  Debug.Print Environ("SYSTEMROOT")
  Debug.Print Environ("TEMP")
  Debug.Print Environ("ProgramFiles")
  Debug.Print Environ("USERNAME")

End Sub

※この指定方法の場合、Environ関数の返り値は「<その値>のみ」の文字列となりまます。
※ここでもし引数に指定した文字列の変数が存在しない場合は長さ0の文字列を返します。

実行例:
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved