• ベストアンサー

Excel VBA Windowsにログインしているユーザ名

Excel VBAの質問です。 ブックを開いているPCのWindowsにログインしているユーザ名を 取得することは可能でしょうか。 可能であれば方法をご教示下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

chiune
質問者

お礼

ご教示いただいた1.が役立ちそうです。 2.は大変勉強になりました。 3.は知っていました。 大変助かりましたし勉強になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう