アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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
    • good
    • 2
この回答へのお礼

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

大変助かりましたし勉強になりました。
ありがとうございました。

お礼日時:2007/12/11 19:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A