を環境変数は
- 信頼性が低いですユーザーは必要な値に値を編集できます
- ユーザーは環境変数を削除できます。
これらのいずれかを試してください。APIメソッド。
オプション1
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Sub Sample()
Dim lpBuff As String * 25
Dim ret As Long, UserName As String
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
MsgBox UserName
End Sub
オプションここでは2
Option Explicit
Private Declare Function GetEnvironmentVariable Lib _
"kernel32" Alias "GetEnvironmentVariableA" _
(ByVal lpName As String, ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Private Sub Sample()
Dim strUserName As String * 255
Dim x As Integer
x = GetEnvironmentVariable("USERNAME", strUserName, Len(strUserName))
If x > 0 Then
x = InStr(strUserName, vbNullChar)
If x > 0 Then
MsgBox (Left$(strUserName, x - 1))
Else
MsgBox (Left$(strUserName, x))
End If
End If
End Sub
お寄せいただきありがとうございます。私は月曜日にそれを試し、それがうまくいくかどうかを見ます。 – John
も私のために働いた。これであなたの助けに感謝します。 – John