- ベストアンサー
Excel VBA Windowsにログインしているユーザ名
Excel VBAの質問です。 ブックを開いているPCのWindowsにログインしているユーザ名を 取得することは可能でしょうか。 可能であれば方法をご教示下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> ブックを開いているPCのWindowsにログインしているユーザ名 微妙な表現ですね....現在マクロを実行しているユーザー名とするなら 1. MsgBox Environ("USERNAME") 2. API を使うなら GetUserName 3. Excel のユーザー名で良ければ MsgBox Application.UserName などなど。。。API を使う場合は下記のように。 ' // 標準モジュール Private Declare Function GetUserName Lib "ADVAPI32.dll" Alias "GetUserNameA" ( _ ByVal lpBuffer As String, _ ByRef nSize As Long _ ) As Long Private Const MAX_PATH As Long = 256 ' // Windows のログインユーザー名を取得する Public Function GetLoginUserName() As String Dim sBuffer As String sBuffer = String$(MAX_PATH, vbNullChar) If CBool(GetUserName(sBuffer, MAX_PATH) > 0) Then GetLoginUserName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1) End If End Function Sub 使い方サンプル() Dim sUserName As String sUserName = GetLoginUserName() MsgBox "USER: " & sUserName, vbInformation End Sub
お礼
ご教示いただいた1.が役立ちそうです。 2.は大変勉強になりました。 3.は知っていました。 大変助かりましたし勉強になりました。 ありがとうございました。