• ベストアンサー

Excel VBA でログインしているアカウント(ユーザー)名取得?

WIn2000 と WindowXP において、 Excel VBA で、現在、ログインしているアカウント(ユーザー)名を取得して、表示させたいのですが、どうすればいいのですか? 見よう見まねの独学なので初心者の域をでていませんので、宜しくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんな風でよいのではありませんか? Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _   (ByVal lpBuffer As String, nSize As Long) As Long Sub UserName()   Dim myName As String   Dim num As Long   Dim Rtn As Long   myName = String(250, Chr(0))   num = Len(myName)   Rtn = GetUserName(myName, num)   MsgBox "ユーザー名は" & myName & " です。" End Sub

banzaiA
質問者

お礼

ありがとうございます。 参考になりました。

その他の回答 (3)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

Msgbox Application.UserLibraryPath で表示されるので、 変数 = Application.UserLibraryPath で、変数に格納されます。

banzaiA
質問者

お礼

ありがとうございます。 参考になりました

  • kumadayo
  • ベストアンサー率31% (9/29)
回答No.2
参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/api/sub08_01_020.html
banzaiA
質問者

お礼

ありがとうございます。 参考になります。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Application.UserName では取得できませんが、 Application.UserLibraryPathを取得して、 ユーザー名=ユーザーフォルダ名になるのを利用して、 C:\Documents and Settings\[アカウント名]\Application Data\Microsoft\AddIns\ から切り出す方法もあります。

banzaiA
質問者

お礼

ありがとうございます。私初心者なので、 「Application.UserLibraryPathを取得して」の取得の方法が分からないので、これも教えていただけると嬉しいです。 参考になります。

関連するQ&A