• 締切済み

コンピュータ名の取得及びログオンIDの取得

アクセスVBAで自分のコンピュータ名を取得したいのですが、解かる方教えてください。 また、VBで、WINDOWSログオンIDを取得する方法を教えてください。

みんなの回答

  • nyalu
  • ベストアンサー率0% (0/0)
回答No.1

 コンピューター名の取得、ログオンID(=ユーザー名)の取得は、共にWindowsAPIを使用します。通常、アクセスで使用する場合は、モジュールに、VBで利用する場合は、標準モジュールに下記のロジックを追加して、それぞれを呼び出してください。ロジック自体は、アクセスで利用しても、VBで利用しても同じです。 ' 《API》コンピューター名の取得 Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal Buffer As String, Size As Long) As Long ' 《API》ユーザー名の取得 Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long ' ========================================================= ' 関数名:(Function)GetCpuName ' 機 能:コンピューター名を取得する。 ' 引 数:なし ' 戻り値:(String)コンピューター名 ' ========================================================= Public Function GetCpuName() As String Dim buf As String * 255 Dim ret As Long ret = GetComputerName(buf, Len(buf)) GetCpuName = Left(buf, InStr(buf, vbNullChar) - 1) End Function ' ========================================================= ' 関数名:(Function)GetUsrName ' 機 能:ユーザー名を取得する。 ' 引 数:なし ' 戻り値:(String)ユーザー名 ' ========================================================= Public Function GetUsrName() As String Dim buf As String * 255 Dim ret As Long ret = GetUserName(buf, Len(buf)) GetUsrName = Left(buf, InStr(buf, vbNullChar) - 1) End Function  ※ 回答結果は、両方のロジックを1つにまとめてあります。