Tag Archives: Usuário

VBA – Retornando o nome do usuário logado

No VBA, a opção mais trivial para obter o nome do usuário logado na máquina é através de uma chamada a API advapi32.dll.  Nada contra APIs, mas sempre que puder evitar de usá-las, eu prefiro, já que suas chamadas são feitas em baixo nível e requerem um nível de conhecimento bem avançado desta.

Abaixo segue um exemplo que efetua a tarefa sem a necessidade de API no VBA:

'Function que retorna o nome do usuário de rede logado
 
Function UsuarioRede() As String
    Dim GetUserN
    Dim ObjNetwork
    Set ObjNetwork = CreateObject("WScript.Network")
    GetUserN = ObjNetwork.UserName
    UsuarioRede = GetUserN
End Function
 
Sub Mostra()
    MsgBox UsuarioRede
End Sub

O código faz uso do objeto WScript.Network, comumente encontrado nas versões mais atuais do Windows, dispensando referências manuais. Se não me engano, obtive este código em uma edição revista da FórumAccess. Quanto a autoria, ela é do Luiz Cláudio Vieira da Rocha, renomado especialista em Office no Brasil.

Bom proveito a todos!