Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador icon. Mostrar todas as postagens
Mostrando postagens com marcador icon. Mostrar todas as postagens

VBA Excel - Colocando um Ícone personalizado no Excel - Change Excel Icon


Sim, colocar um ícone que identifique sua aplicação pode dar uma visão mais profissional a ela. Existem usuários mais, digamos, caprichosos que gostam e se apegam a estes detalhes. Por isso precisamos desenvolver uma visão vendedora dos nossos produtos, melhorar o modo como tratamos os nossos softwares pode implicar em distribuirmos mais cópias de uma aplicação e até mesmo massificá-la num departamento ou empresa. Sim, é apenas um detalhe, mas pode inspirá-lo a alterar outros aspectos das suas aplicações.

Há alguns anos construí uma aplicação que interagia com diversos Workbooks diferentes: Ao passo que escolhia os diferentes relatórios na interface principal, fazia com que as sub-interfaces como que se dissolvessem enquanto um processo contrário reconstruía a interface escolhida. 

Recurso simples? Sim.

O acesso era mais demorado? Sim, mas o usuário gostou muito

Talvez porque fosse de uma agência de propaganda. Enfim, alguns toques de requinte podem abrir as portas para a sua aplicação ser aceita, distribuida e comentada. Seguem códigos:

Open an Excel workbook
Select Tools/Macro/Visual Basic Editor
In the VBE window, select View/Project Explorer
Select the 'ThisWorkbook' Module, copy and paste the code for it from above
Select Insert/Module, copy and paste the code for module1 into this module.
Now select File/Close and Return To Microsoft Excel
Save your work and close the workbook.

O ícone pode ser mudado a qualquer momento:
Option Explicit 
Private Sub Workbook_Open() 
    Application.Caption = " My Personalized Workbook" 
    ChangeApplicationIcon 
End Sub 

Código par o 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& 
     
     '*****Change Icon To Suit*******
    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 


Reference: Walk

Tags: VBA, Excel, Icon, ícone, image

VBA Excel - Mudando o ícone padrão de uma planilha.

Inline image 1


Hello Folks!

Imagine em certo momento do seu dia-a-dia, onde diversas planilhas estão abertas simultaneamente. Isso é raro? Certamente Não. Uma das coisas mais úteis seria identificarmos rapidamente a planilha (ou aplicação MS Excel) que desejamos trabalhar naquele momento.

Quando olhamos para a nossa barra de tarefas do Windows observamos inúmeras planilhas abertas ou ainda pior, olhamos aquele ícone com todos as planilhas agrupadas.

E se...e somente se, pudéssemos atribuir um ícone diferente para cada aplicação MS Excel que estivéssemos usando? Imagine identificarmos a nossa aplicação rapidamente através do seu ícone, seria muito bom! Além disso destacaríamos a nossa aplicação de outras que estivessem rodando nas máquinas dos nossos Clientes.

Mas é possível alterar o ícone de uma planilha específica, ou de várias, que estão rodando em nossa máquina? Tá bom, chega de tortura, segue como é que se faz:

Ao abrir a planilha, solicite que uma das primeiras coisas a serem executadas, seja a nossa SUB ChangeAppIcon:

Private Sub Workbook_Open()
    ' Author:                     Date:                       Contact:                            URL:
    ' André Bernardes      02/03/2011 09:40    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Application: ***
    ' Ao abrir o formulário.
    ' Listening: - .
    ' Re-escrito/Atualizado em: .
    
    Let Application.ScreenUpdating = False
    Let Application.Caption = ".: Minha Aplicação"
    Let Application.StatusBar = "A&A - In Any Place"

    ' Abre um formulário.
    frmSplash.Show

    Call ChangeAppIcon
    Let Application.ScreenUpdating = True
End Sub

Em seguida crie um módulo com o nome de mdl_Functions_PutIcon e cole o código abaixo nele:

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 ChangeAppIcon()

    ' Author:                     Date:                       Contact:                            URL:
    ' André Bernardes      02/03/2011 08:14    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Application: 
    ' Modification of code from Excel Experts E-Letter Archives.
    ' Original code By Jim Rech can be found by following this
    ' Listening: - .
    ' Re-escrito/Atualizado em: .
    Dim Icon&

    ' Change Icon To Suit

    Const NewIcon$ = "C:\Bernardes\Application.ico" 

    Let Icon = ExtractIcon32(0, NewIcon, 0)

    SendMessage32 GetActiveWindow32(), &H80, 1, Icon '< 1 = big Icon

    SendMessage32 GetActiveWindow32(), &H80, 0, Icon '< 0 = small Icon
End Sub

Pronto! Agora você tem a solução para alterar o ícone das suas aplicações desenvolvidas com o MS Excel.

Esse ícone pode ser utilizado como indicador e ser alterado de acordo com um parâmetro, é só utilizar a sua imaginação, de acordo com a sua necessidade.

Outro aspecto interessante é o de que você também pode utilizar um ícone de arquivo executável, como por exemplo o Notepad.exe. Basta que coloque o caminho onde ele está no ambiente do Windows que o seu ícone será mostrado.

Tags: Bernardes, MS, Microsoft, MS Office, Automation, Automação, Aplicação, Application, Icon, ícone, image, change, DLL, API, SendMessage, LIB, USER32.DLLSHELL32.DLL




VBA Excel - Mudando o ícone padrão de uma planilha.

Hello Folks!

Imagine em certo momento do seu dia-a-dia, onde diversas planilhas estão abertas simultaneamente. Isso é raro? Certamente Não. Uma das coisas mais úteis seria identificarmos rapidamente a planilha (ou aplicação MS Excel) que desejamos trabalhar naquele momento.

Quando olhamos para a nossa barra de tarefas do Windows observamos inúmeras planilhas abertas ou ainda pior, olhamos aquele ícone com todos as planilhas agrupadas.

E se...e somente se, pudéssemos atribuir um ícone diferente para cada aplicação MS Excel que estivéssemos usando? Imagine identificarmos a nossa aplicação rapidamente através do seu ícone, seria muito bom! Além disso destacaríamos a nossa aplicação de outras que estivessem rodando nas máquinas dos nossos Clientes.

Mas é possível alterar o ícone de uma planilha específica, ou de várias, que estão rodando em nossa máquina? Tá bom, chega de tortura, segue como é que se faz:


Ao abrir a planilha, solicite que uma das primeiras coisas a serem executadas, seja a nossa SUB ChangeAppIcon:

Private Sub Workbook_Open()
' Author: Date: Contact: URL:
' André Bernardes 02/03/2011 09:40 bernardess@gmail.com http://al-bernardes.sites.uol.com.br/
' Application: ***
' Ao abrir o formulário.
' Listening: - .
' Re-escrito/Atualizado em: .
Let Application.ScreenUpdating = False
Let Application.Caption = ".: Minha Aplicação"
Let Application.StatusBar = "A&A - In Any Place"

' Abre um formulário.
frmSplash.Show

Call ChangeAppIcon
Let Application.ScreenUpdating = True
End Sub


Em seguida crie um módulo com o nome de mdl_Functions_PutIcon e cole o código abaixo nele:

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 ChangeAppIcon()
' Author: Date: Contact: URL:
' André Bernardes 02/03/2011 08:14 bernardess@gmail.com http://al-bernardes.sites.uol.com.br/
' Application:
' Modification of code from Excel Experts E-Letter Archives.
' Original code By Jim Rech can be found by following this
' Listening: - .
' Re-escrito/Atualizado em: .

Dim Icon&
' Change Icon To Suit
Const NewIcon$ = "C:\Bernardes\Application.ico"

Let Icon = ExtractIcon32(0, NewIcon, 0)
SendMessage32 GetActiveWindow32(), &H80, 1, Icon '< 1 = big Icon
SendMessage32 GetActiveWindow32(), &H80, 0, Icon '< 0 = small Icon
End Sub

Pronto! Agora você tem a solução para alterar o ícone das suas aplicações desenvolvidas com o MS Excel.

Esse ícone pode ser utilizado como indicador e ser alterado de acordo com um parâmetro, é só utilizar a
sua imaginação, de acordo com a sua necessidade.

Outro aspecto interessante é o de que você também pode utilizar um ícone de arquivo executável, como por
exemplo o Notepad.exe. Basta que coloque o caminho onde ele está no ambiente do Windows que o seu
ícone será mostrado.

Tags: André Luiz Bernardes, MS, Microsoft, MS Office, Automation, Automação, Aplicação, Application, Icon, ícone, image, change, DLL, API, SendMessage, LIB, USER32
.DLL
,
SHELL32.DLL


A&A® - Work smart, not hard.


VBA Excel - Inserindo icone em suas aplicações

Digamos que você tenha diversas planilhas abertas no nosso computador neste momento. Cada uma delas com conteúdos totalmente distintos. Não seria bom se você pudesse identificá-las somente olhando para os seus ícones na barra do Windows? Como podemos fazer isso? Na verdade não requer prática, nem tão pouco experiência, basta que siga os passos abaixo: Crie um novo módulo com um nome como: mdl_Functions_Icon Dentro do módulo cole o código abaixo:
CÓDIGO:
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 Function ChangeApplicationIcon() ' Author: Date: Contact: URL: ' André Bernardes 22/11/2010 13:43 bernardess@gmail.com https://sites.google.com/site/vbabernardes/ ' Carrega o icone identificando a planilha. ' Listening: Dim Icon& ' Pegue o ícone de outro aplicativo como abaixo: Const NewIcon$ = "C:\PlanIcons\DashBoard.ico" ' Um arquivo .ICO em um diretório: ' Let Icon = ExtractIcon32(0, NewIcon, 0) SendMessage32 GetActiveWindow32(), &H80, 1, Icon End Function
Na pasta de inicialização da sua planilha faça uma chamada a esta função, como demonstrado abaixo:
CÓDIGO:
Private Sub Workbook_Open() ' Author: Date: Contact: URL: ' André Bernardes 27/09/2010 09:07 bernardess@gmail.com https://sites.google.com/site/vbabernardes/ ' Abre a planilha para acesso a dados. ' Listening: Don´t Give Hate a Chance - Jamiroquai. Let Application.ScreenUpdating = False Let Application.Caption = ".: DashBoard®" Let Application.StatusBar = "A&A - In Any Place®" Call ChangeApplicationIcon Sheets("Dashboard").Select ActiveSheet.Outline.ShowLevels RowLevels:=1 frmSplash.Show Sheets("Menu").Select Let Application.ScreenUpdating = True End Sub
Pronto! Todas as suas aplicações podem ter ícones distintos, identificando-as mais facilmente até mesmo para seus clientes.


eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine