Microsoft ExcelでVBAを使用してユーザー名を返す関数
以下の関数は、ログオンしたユーザーのユーザー名を返します。これは、WindowsNTとWindows95 / 98の両方で機能します。
Public Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function ReturnUserName() As String ' returns the NT Domain User Name Dim rString As String * 255, sLen As Long, tString As String tString = "" On Error Resume Next sLen = GetUserName(rString, 255) sLen = InStr(1, rString, Chr(0)) If sLen > 0 Then tString = Left(rString, sLen - 1) Else tString = rString End If On Error GoTo 0 ReturnUserName = UCase(Trim(tString)) End Function
ネットワークユーザー名を返したくないが、ユーザーがアプリケーションに登録したユーザー名を返したい場合は、次のようにすることができます。
ActiveUserName = Application.UserName