API's do Windows no Excel com VBA
Especialista em Excel

Objetivo: Demonstrar como utilizar funcionalidades do Windows no Excel á partir do VBA.
Apesar de tudo o que pode ser feito com programação algumas coisas são muito difíceis de serem implementadas diretamente. Para isso utiliza-se na maioria das vezes as API's do Windows.
API -> Applications Programming Interface. É um conjunto de interfaces de programação que permitem a utilização de bibliotecas de programação Windows em programas externos ao sistema operacional.
Abaixo algumas das principais bibliotecas disponibilizadas:
| Arquivo DLL | Descrição |
| KERNEL32 | Gerencia a memória ; multitarefa... |
| USER32 | Gerencia mensagens , menus, cursores, comunicações, etc... |
| GID32 | Graphics Device Interface - Recursos de desenho , telas e objetos , redimensionamentos... |
| COMDL32 | Janelas comuns : impressão , salvar , abrir, ... |
| WINMM | Recursos multimídia, som , video, ... |
| Lz32 | Rotinas de compressão e compactação |
Abaixo o código fonte de um exemplo uma API que descobre qual é a resolução de vídeo atual do computador e sugere que seja alterada caso não seja a melhor visualização para o programa:
'Esta declaração deve ficar antes de qualquer sub ou function, caso contrário não funcionará
Declare Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
'Identifica a resolução do sistema operacional
Function VideoRes() As String
Dim vidWidth
Dim vidHeight
'Chamada da API do Windows que identifica a resolução da tela
vidWidth = DisplaySize(0)
vidHeight = DisplaySize(1)
Select Case (vidWidth * vidHeight)
Case 307200
VideoRes = "640 x 480"
Case 480000
VideoRes = "800 x 600"
Case 786432
VideoRes = "1024 x 768"
Case 1024000
VideoRes = "1280 x 800"
Case Else
VideoRes = "Outra resolução"
End Select
End Function
'Sub que faz uso da function que identifica a resolução para determinar se ela é adequada
Sub CheckDisplayRes()
Dim VideoInfo As String
Dim Msg1 As String, Msg2 As String, Msg3 As String
VideoInfo = VideoRes
Msg1 = "A resolução atual está configurada em " & VideoInfo & Chr(10)
Msg2 = "A melhor resolução para essa aplicação é 1024 x 768" & Chr(10)
Msg3 = "Ajuste a resolução"
Select Case VideoInfo
Case "640 x 480"
MsgBox Msg1 & Msg2 & Msg3
Case "800 x 600"
MsgBox Msg1 & Msg2
Case "1024 x 768"
MsgBox Msg1
Case "1280 x 800"
MsgBox Msg1 & Msg2
Case Else
MsgBox Msg2 & Msg3
End Select
End Sub
Até a próxima
Marcos Rieper
Principais recursos
Confira o que este material oferece para você.
Perguntas frequentes
O material é realmente gratuito?
Sim. O acesso é gratuito e não exige cadastro.
Preciso ter o Excel instalado?
Recomendamos o Excel 2013 ou superior para todos os recursos.
Como faço para receber atualizações?
As atualizações são automáticas dentro da própria planilha.
Funciona no Excel do Mac?
Sim, funciona no Excel para Windows e para Mac.
Funciona no celular?
É possível visualizar no app do Excel; a edição completa é no computador.
Planilhas relacionadas
Planilha de Fluxo de Caixa
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90





