先日、Dominoデザイナーヘルプを見ていて Environ 関数をたまたま発見しました。LotusScript を使い始めてほぼ 30 年になるのですが、恥ずかしながらこの関数の存在を知りませんでした。
今回は備忘録を兼ねて Environ 関数についてまとめます。
Environ 関数
Windows の環境変数を取得する関数です。構文は次の通り。
Environ[$] ( { environName | n } ) |
引数は以下のどちらかを指定します。
1 | environName | 文字列 | 環境変数名 |
n | 数値 | n 番目の環境変数 |
戻り値は、Environ$ とした場合は文字列、Environ の場合は Variant 型となります。
環境変数の取得
以前『Windows のテンポラリフォルダの取得』の記事では、Windows API を使う方法を紹介しました。しかし、Environ 関数を使えば、1 行で解決できます。
sTmpFol = Environ$("TEMP") |
こんな便利な命令があったんですね。デザイナーヘルプをもっと隅々までチェックしておけばよかったです...。
テンポラリフォルダ以外にもさまざまな環境変数があります。使いそうなものを抜粋すると次の通りです。
TEMP TMP |
テンポラリフォルダ |
HOMEDRIVE | ホームドライブ |
HOMEPATH | ホームパス |
Path | パスの一覧 |
OneDrive | OneDrive フォルダ |
windir | Windows フォルダ |
また、環境変数というだけあって、Windows や PC に関する基本的な情報も取得できます。
USERNAME | ユーザ名 |
COMPUTERNAME | コンピュータ名 |
PROCESSOR_ARCHITEW6432 | CPU |
PROCESSOR_IDENTIFIER | CPU の詳細 |
環境変数の種類
引数に数値を指定すると n 番目の環境変数が取得できます。これを利用してすべての環境変数を順に確認することができます。
Option Declare Sub Initialize Dim b As Boolean Dim i As Integer i = 0 Do i = i + 1 b = ShowEnv_n(i) Loop Until b = False End Sub Function ShowEnv_n(ByVal viIndex As Integer) As Boolean Dim s As String s = Environ$(viIndex) If s <> "" Then MsgBox CStr(viIndex) & ") " & s ShowEnv_n = True End If End Function |
実行すると、次のようになります。
上記のサンプルのように、引数に数値を指定した場合は「環境変数名=環境変数の値」を返します。引数に環境変数名を指定すると値だけを返すので注意してください。
0 件のコメント:
コメントを投稿