2025/10/14

Environ 関数 (LotusScript)

先日、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 件のコメント:

コメントを投稿