Sunlim ha notato che quando viene installato Office, l’utente specifica il proprio nome. È possibile accedere a questo nome in alcuni programmi di Office, ad esempio in Word. Sunlim si chiede come possa accedere al nome dell’utente in Excel e inserire quel nome in una cella.

Il modo per farlo è implementare una breve macro su una riga che accede alla proprietà UserName dell’oggetto Application. Questa tecnica è descritta in un altro numero di _ExcelTips: _

http://excel.tips.net/T003289

Questo approccio è ottimo per determinare il nome utente associato all’installazione corrente di Excel. Tuttavia, potrebbe non essere la stessa cosa di chi sta utilizzando la cartella di lavoro corrente. Ad esempio, se la cartella di lavoro è condivisa, è possibile che più persone la utilizzino contemporaneamente. In tal caso, hai bisogno di un modo per determinare quei nomi, come mostrato qui:

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

Per utilizzare la funzione, inserisci la seguente formula nella cella in cui desideri che appaiano i nomi:

=UserNames

Se invece vuoi sapere chi sta usando il computer attualmente, è meglio guardare oltre Office e invece prendere il nome da Windows stesso. In questo modo puoi determinare chi ha effettuato l’accesso a Windows e utilizzarlo come nome utente. Questo richiede una dichiarazione di chiamata di funzione API, ma per il resto è relativamente facile:

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

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (7251) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: