'環境変数を取得する関数 Option Explicit Private Declare Function GetEnvironmentVariable Lib "kernel32" Alias "GetEnvironmentVariableA" ( _ ByVal lpszName As String, ByVal lpszValue As String, _ ByVal cchValue As Long) As Long Public Function GetEnv(ByVal sName As String) As String Dim lpBuffer As String Dim iSize As Long Dim iRet As Long GetEnv = "" lpBuffer = String$(512, Chr$(0)) iSize = GetEnvironmentVariable(sName, lpBuffer, 512) If iSize = 0 Then ElseIf iSize <= 512 Then GetEnv = Left$(lpBuffer, InStr(1, lpBuffer, Chr$(0), 0) - 1) Else lpBuffer = String$(iSize, Chr$(0)) iRet = GetEnvironmentVariable(sName, lpBuffer, iSize) If iRet = iSize - 1 Then GetEnv = Left$(lpBuffer, InStr(1, lpBuffer, Chr$(0), 0) - 1) End If End If End Function Sub Test() MsgBox GetEnv("path") End Sub