VBA – Mudando o Ícone da Aplicação

Macro para mudar o ícone padrão da aplicação VBA.

Siga os seguintes passos:

  1. Abra uma nova pasta de trabalho no Excel
  2. Abra o VBA Ferramentas->Macro->Editor do Visual Basic (Alt+F11)
  3. No Editor do VBA, Selecione Exibir->Project Explorer
  4. Clique duas vezes em EstaPasta_de_trabalho e cole o código desta seção (abaixo)
  5. Insira um novo módulo Inserir->Módulo e cole o código desta seção (abaixo)
  6. Salve e Feche a pasta de trabalho
  7. Abra novamente a pasta de trabalho e veja o resultado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'******Código para EstaPasta_de_trabalho******
Option Explicit 
 
Private Sub Workbook_Open()
    Application.Caption = " Meu Aplicativo Personalizado"
    ChangeApplicationIcon
End Sub
 '***************************************** 
 
 '************Códido do Módulo****************
Option Explicit 
 
Declare Function GetActiveWindow32 Lib "USER32" Alias _
"GetActiveWindow" () As Integer 
 
Declare Function SendMessage32 Lib "USER32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long 
 
Declare Function ExtractIcon32 Lib "SHELL32.DLL" Alias _
"ExtractIconA" (ByVal hInst As Long, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As Long) As Long 
 
Sub ChangeApplicationIcon() 
 
    Dim Icon& 
 
     'Muda o ícone para o do Bloco de Notas
     'Mude para o arquivo que contém o ícone desejado (.ico)
    Const NewIcon$ = "Notepad.exe"
 
    Icon = ExtractIcon32(0, NewIcon, 0)
    SendMessage32 GetActiveWindow32(), &H80, 1, Icon '< 1 = big Icon
    SendMessage32 GetActiveWindow32(), &H80, 0, Icon '< 0 = small Icon
 
End Sub
 '*****************************************

Créditos:
Excel Experts – Criado por Jim Rech
http://www.vbaexpress.com

Limitações:
Na versão 2007 do Office, o novo ícone só será visto com o aplicativo em tela cheia.

Comentários

comentários

2 thoughts on “VBA – Mudando o Ícone da Aplicação”

Comments are closed.