Resumo
Você pode fazer uma chamada de Windows API (interface de programação de aplicativo) para uma DLL (biblioteca de vínculo dinâmico) do Microsoft Windows para obter o nome do usuário atual. O nome de usuário atual pode ser obtido usando a função GetUserNameA em ADVAPI32. DLL.
Informações adicionais
O Microsoft Excel não possui a funcionalidade interna para acessar o nome do usuário atual do computador. No entanto, você pode usar a instrução Declare em um Visual Basic for Applications macro para chamar uma função do Microsoft Windows que irá retornar o nome do usuário atual. A Microsoft fornece exemplos do Visual Basic for Applications procedimentos apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando a garantias implícitas de comercialização e/ou adequação para uma finalidade específica. Os procedimentos do Visual Basic neste artigo são fornecidos 'como está' e a Microsoft não garante que eles podem ser usados em todas as situações. Enquanto os profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de uma determinada macro, eles não modificarão esses exemplos para fornecer funcionalidade adicional nem eles ajudarão você criar macros para atender às suas necessidades específicas. Se você tem muita experiência de programação, você talvez queira consultar um Microsoft Solution Providers. Provedores de solução oferecem uma ampla variedade de serviços com base na taxa, incluindo a criação de macros personalizadas. Para obter mais informações sobre Microsoft Solution Providers, ligue para informações de atendimento da Microsoft em (800) 426-9400.
EXEMPLO
-
Digite o seguinte código em um novo módulo:
' Makes sure all variables are dimensioned in each subroutine. Option Explicit ' Access the GetUserNameA function in advapi32.dll and ' call the function GetUserName. Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long ' Main routine to Dimension variables, retrieve user name ' and display answer. Sub Get_User_Name() ' Dimension variables Dim lpBuff As String * 25 Dim ret As Long, UserName As String ' Get the user name minus any trailing spaces found in the name. ret = GetUserName(lpBuff, 25) UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1) ' Display the User Name MsgBox UserName End Sub
-
Execute a macro Get_User_Name. Observe que o nome do usuário atual será exibido em uma caixa de mensagem.