Sunlimは、Officeがインストールされると、ユーザーが自分の名前を指定すると述べました。この名前は、Wordなどの一部のOfficeプログラムでアクセスできます。 Sunlimは、Excelでユーザーの名前にアクセスし、その名前をセルに配置する方法を考えています。

これを行う方法は、Applicationオブジェクトのhttp://username-password.com/[UserName]プロパティにアクセスする短い1行のマクロを実装することです。この手法については、ExcelTipsの別の号で詳しく説明されています:

http://excelribbon.tips.net/T009814

このアプローチは、Excelの現在のインストールに関連付けられているユーザー名を判別するのに最適です。ただし、それは現在のブックを使用している人と同じではない場合があります。たとえば、ブックが共有されている場合、複数の人が同時にブックを使用している可能性があります。その場合、次に示すように、これらの名前を判別する方法が必要です。

Function UserNames() As String     Dim Users As Variant     Dim sMsg As String     Dim iIndex As Integer

Users = ActiveWorkbook.UserStatus

For iIndex = 1 To UBound(Users, 1)

sMsg = Users(iIndex, 1) & vbLf     Next iIndex     'remove final line feed     sMsg = Left(sMsg, Len(sMsg) - 1)



UserNames = sMsg End Function

この関数を使用するには、名前を表示するセルに次の数式を入力するだけです。

=UserNames

代わりに、現在コンピュータを使用しているユーザーを知りたい場合は、Officeの先を見て、代わりにWindows自体から名前を取得することをお勧めします。このようにして、Windowsにログインしているユーザーを特定し、それをユーザー名として使用できます。これにはAPI関数呼び出しの宣言が必要ですが、それ以外の点では比較的簡単です。

Private Declare Function GetUserName Lib "advapi32.dll" _   Alias "GetUserNameA" (ByVal lpBuffer As String, nSize _   As Long) As Long

Function UserName2() As String     Dim strBuff As String * 100     Dim lngBuffLen As Long

lngBuffLen = 100     GetUserName strBuff, lngBuffLen     UserName2 = Left(strBuff, lngBuffLen - 1)

End Function

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12745)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。