Views

Important:

Quaisquer necessidades de soluções e/ou desenvolvimento de aplicações pessoais/profissionais, que não constem neste Blog podem ser tratados como consultoria freelance à parte.

...

10 de janeiro de 2014

VBA Tips - 02 das 10 Principais interações com as APIs do Windows - GetUserName



Quando uma solução VBA está aquém de atender as nossas necessidades, certamente existirá uma função API do Windows que fará o trabalho para nós.

Listo a seguir o que acredito ser uma das 10 Principais interações com as APIs do Windows.

Nós, que desenvolvemos com o VBA no Office, sabemos que podemos pegar alguns atalhos para resolver muitas das nossas necessidades diárias. Às vezes, uma solução pode tornar-se complicada ou difícil para implementarmos. Neste momento lançamos mão das APIs - Application Programming Interface. Sim, encontraremos milhares de funções úteis. E é importante saber que podemos usá-las em quaisquer aplicativos baseados no Windows. (As dicas deste post são específicas para o sistema 32 bits).

Estas funções VBA demonstradas neste artigo não tem o objetivo de serem práticas. Antes, são chamadas simples às APIs, para que possamos ver como trabalham em conjunto. Mas certamente, algumas delas poderão facilmente passar para a sua biblioteca pessoal. Depois que souber como os procedimentos VBA chamam as funções API e o que retornam, poderão modificar tais códigos para usá-los em seus próprios projetos.

2: GetUserName

Se precisar saber quem está conectado em um banco de dados MS Access, use o GetUserName. Há outras maneiras de fazer isso sem chamar uma API, mas se esta API é tão simples, por que se preocupar em escrever o seu próprio código? A GetUserName recupera o nome do sistema atual ou o nome do usuário atual conectado à rede. Poderá declará-la e chamá-la, passando as informações apropriadas, como segue:

Private Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function apicGetUserName() As String
    'Call to apiGetUserName returns current user.
  Dim lngResponse As Long
    Dim strUserName As String * 32
  lngResponse = GetUserName(strUserName, 32)
  apicGetUserName = Left(strUserName, InStr(strUserName, Chr$(0)) - 1)
End Function
Tags: VBA, API, code,10, GetUserName

Inline image 1

Nenhum comentário:

Postar um comentário

eBooks VBA na AMAZOM.com.br

Vitrine