API's do Windows no Excel com VBA

MR
Marcos Rieper

Especialista em Excel

08 de março de 2011 Atualizado 08 de julho de 2026 2 min de leitura
API's do Windows no Excel com VBA

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 DLLDescrição
KERNEL32Gerencia a memória ; multitarefa...
USER32Gerencia mensagens , menus, cursores, comunicações, etc...
GID32Graphics Device Interface - Recursos de desenho , telas e objetos , redimensionamentos...
COMDL32Janelas comuns : impressão , salvar , abrir, ...
WINMMRecursos multimídia, som , video, ...
Lz32Rotinas 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
Download — baixe aqui: API's do Windows

Preencha seus dados para receber o link de download no seu e-mail.

Até a próxima

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

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

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado