Mudando o ícone do aplicativo com VBA
O VBA permite manipular diversas propriedades do aplicativo em que está hospedado.
Porém, quando avançamos no desenvolvimento, é interessante poder personalizar o aplicativo de modo completo. Suítes de desenvolvimento mais avançados como o Visual Studio e Delphi permite fazer isso facilmente. No VBA isso também é possível, porém com um pouco mais de trabalho.
O código abaixo troca o ícone do aplicativo para um determinado arquivo do tipo .ico:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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& 'Troca o ícone Const NewIcon$ = "c:\temp\app.ico" Icon = ExtractIcon32(0, NewIcon, 0) SendMessage32 GetActiveWindow32(), &H80, 1, Icon SendMessage32 GetActiveWindow32(), &H80, 0, Icon End Sub |
O código faz referência a um arquivo .ico, porém, é possível referenciar arquivos do tipo .dll e .exe que possuam ícones agregados como a calculadora do Windows. Para testar, troque o valor “C:\temp\app.ico” para “calc.exe”.
Atenção: Se executar o aplicativo no contexto do VBA, clicando em F5, o ícone alterado será o do próprio Visual Basic Editor.
Abraços
Tomás Vásquez
Fonte: http://j-walk.com/ss/

70 Convidados
2 Bots
Leave a Reply
You must be logged in to post a comment.