API’s do Windows no Excel com VBA

Objetivo: Demonstrar como utilizar funcionalidades do Windows no Excel á partir do VBA.


Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.


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

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

Quer aprender Excel Avançado ou Excel VBA? Conheça os nossos cursos, os melhores do mercado a preços baixíssimos e garantia de aprendizado. Cursos Guia do Excel.

excel vba

SISTEMA DE GESTÃO CONTA AZUL

O Excel é uma plataforma de trabalho muito aberta para servir ao gerenciamento de dados de uma empresa, dado a complexidade e a integração entre as diversas áreas que a compõe. Mas é a melhor para analisar suas informações.

Com a intenção de atender as micro e pequenas empresas a Conta Azul criou um software de gestão aonde você tudo o que você precisa para gerir a sua empresa: Estoque, Vendas, Financeiro e ainda emite Nota Fiscal Eletrônica, tudo isso em um sistema simples de trabalhar, que você acessa pela internet, não há a necessidade de comprar servidores e preocupar-se com backup e atendimento através de 0800.

O preço da ferramenta também chama a atenção, sendo um preço mais do que justo para se ter o controle dos dados e a geração de informações para a análise do seu negócio.

ContaAzul é um software de gestão financeira e fiscal para micro e pequenas empresas. Ele funciona 100% em plataforma web, não necessitando nenhuma instalação ou atualização. Você pode acessar de qualquer lugar e não tem necessidade de comprar nova licença caso troque de computador.

  O Guia do Excel recomenda o Conta Azul no gerenciamento de sua empresa.
Use QR-Code to get this permaking using your Smartphone. QR Code for API’s do Windows no Excel com VBA

1 Comentário

  1. Elias disse:

    Marcos,
    tenho uma rotina que abre a calculadora do Windows. Quando o usuário solicita nova abertura, a rotina checa se a calculadora já está aberta para que outra aplicação não seja aberta. Porém, a intenção é que a calculadora já aberta seja mostrada na tela para que o usuário use a mesma aplicação. Já tentei diversas API’s ou combinações das mesmas, porém, sem sucesso. Alguma sugestão?

    Abraço.

    Elias

Deixe o seu comentário


 
%d blogueiros gostam disto: