Resumo
Pode fazer uma chamada de API do Windows (interface de programação de aplicações) para uma DLL do Microsoft Windows (biblioteca de ligação dinâmica) para obter o nome de utilizador actual. O nome de utilizador actual pode ser obtido utilizando a função GetUserNameA no ADVAPI32. DLL.
Mais Informações
O Microsoft Excel não tem a funcionalidade incorporada para aceder ao nome de utilizador actual do computador. No entanto, pode utilizar a instrução Declare uma macro Visual Basic for Applications para chamar uma função do Microsoft Windows que irá devolver o nome de utilizador actual. Microsoft fornece exemplos do Visual Basic para obter procedimentos de aplicações de ilustração apenas, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Os procedimentos do Visual Basic no presente artigo são fornecidos 'tal como está' e a Microsoft não garante que pode ser utilizados em todas as situações. Enquanto os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de uma determinada macro, não modificarão estes exemplos para proporcionar maior funcionalidade, nem ajudarão a criar macros para satisfazer necessidades específicas. Se dispõe de limitada experiência de programação, poderá consultar um dos fornecedores de soluções Microsoft. Fornecedores de soluções oferecem uma vasta gama de serviços baseado em taxas, incluindo a criação de macros personalizadas. Para mais informações sobre fornecedores de soluções da Microsoft, contacte a Microsoft informações de suporte ao cliente no (800) 426-9400.
EXEMPLO
-
Escreva o seguinte código para 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. Tenha em atenção que o nome de utilizador actual será apresentado numa caixa de mensagem.