質問: コンピュータ名の取得及びログオンidの取得 アクセスvbaで自分のコンピュータ名を取得したいのですが、解かる方教えてください。 また、vbで、windowsログオンidを取得する方法を教えてください。
回答: コンピューター名の取得、ログオン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つにまとめてあります。