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 LongFunction apicGetUserName() As String'Call to apiGetUserName returns current user.Dim lngResponse As LongDim strUserName As String * 32lngResponse = GetUserName(strUserName, 32)apicGetUserName = Left(strUserName, InStr(strUserName, Chr$(0)) - 1)End Function
Tags: VBA, API, code,10, GetUserName