maurogsc.eu
|
![]() |
home ==> Excel: come fare per ==> Sistema: recuperare nome utente computer/rete(32/64 bit)
Sistema: recuperare nome utente
computer(32/63 bit)
- VBA
NOTA. La soluzione ed il codice sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dal codice o dalla soluzione proposta se usati impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare il codice o la soluzione in files importanti.
1 - Funzione che recupera il nome dell'utente con il quale si è fatto l'accesso al computer/rete ed il tipo di sistema operativo, se a 32 o 64 bit. Può essere utile, ad esempio, nel caso si stia creando un file di log per gli accessi al file. ATTENZIONE a non confondere il nome utente con il quale si è fatto l'accesso al computer/rete con il nome utente relativo a Office(vedi punto 2). In un modulo standard:
#If Win64 Then
Public Declare PtrSafe Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As LongLong) As Long
#Else
Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
#End If
Public Function fUserName() As String
Dim s As String * 255
Dim lLen As Long
Dim sString As String
sString = ""
On Error Resume Next
lLen = GetUserName(s, 255)
lLen = InStr(1, s, Chr(0))
If lLen > 0 Then
sString = Left(s, lLen - 1)
Else
sString = s
End If
On Error GoTo 0
#If Win64 Then
fUserName = Trim(sString & "-Win 64bit")
#Else
fUserName = Trim(sString & "-Win 32bit")
#End If
End Function
Da richiamare, ad esempio, così:
Public Sub mm()
MsgBox fUserName
End Sub
2 - Per recuperare il nome utente relativo ad Office, vedi qui:
Excel: recuperare nome utente di Office
Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate questo
forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads
Ultimo aggiornamento di questa pagina: 16/12/2010 - mauro gamberini