Notifications
Clear all

Mudar Ícone Excel (Barra de Títulos)

28 Posts
3 Usuários
0 Reactions
10.7 K Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa Noite encontrei essa macro em um site -> http://puremis.net/excel/code/045.shtm l"> http://translate.google.com.br/translat ... /045.shtml
Mais não estou conseguindo excuta-la segue a macro.

Option Explicit

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
 
Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Const WM_SETICON = &H80
Const ICON_SMALL = 0&
Const ICON_BIG = 1&
 
' Tanto quanto eu sabia, o arquivo de ícone (a extensão é. ico) precisa ser
' Até onde UE sabia, o ícone do arquivo (é uma extensão. Ico) precisa ser
' preparado para além do arquivo Excel. "Preparado para além arquivo Excel.
', Mas aqui é a maneira de incorporar um ícone em uma planilha como um controle de imagem, "Mas aqui é uma maneira de incorporar um ícone em uma planilha como um controle de imagem,
' e exibindo a imagem sobre a barra de título do Excel usando o identificador de exibir e uma imagem na barra de título do Excel usando uma List fazer
' imagem do ícone incorporado.
'Imagem incorporado ícone.
 
Sub ChangingExcelIcon()
    MsgBox "Change Excel Icon"
    Call ChangeXLIcon(Plan1.Image1.ico.Handle)
End Sub
Sub MakeExcelIconDefaultAgain()
    MsgBox "Make Excel Icon default again"
    Call ChangeXLIcon
End Sub
Private Sub ChangeXLIcon(Optional ByVal hIcon As Long = 0&)
    Dim hwnd As Long
    Dim lngRet As Long
     ' Obter o identificador do Excel aplicativo "Obter o identificador da aplicação Excel
    hwnd = FindWindow("XLMAIN", Application.Caption)
    lngRet = SendMessage(hwnd, WM_SETICON, ICON_SMALL, ByVal hIcon)
    lngRet = SendMessage(hwnd, WM_SETICON, ICON_BIG, ByVal hIcon)
    lngRet = DrawMenuBar(hwnd)
End Sub

Aguardo retorno.

 
Postado : 07/09/2011 5:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VBA, quando diz que "não está conseguindo excuta-la", você quer dizer que não funciona ou da alguma mensagem de erro ?

Fiz os testes e funcionou corretamente, precisa seguir os passos conforme explicado :

'Excel 2003
1 º) Exiba a Barra de Ferramentas "Caixa de Ferram. de Controle" e adicione um Controle "Imagem"
2 °) Exiba as Propriedades do "Controle Imagem" e na Propriedade "Picture" - Selecione o Icone que quer que apareça.
3° ) Insira um novo Módulo e cole as Rotinas, Salve o arquivo.

4 °) Execute a rotina "ChangingExcelIcon" - Altera o Icone
5 °) Execute a rotina "MakeExcelIconDefaultAgain" - Devolve o Icone Padrão.

'Excel 2007
1 °) Clique na Guia Desenvolvedor e Inserir - Controle ActiveX - Imagem
os outros passos são os mesmos para as duas versões.

Uma Obs quanto as Versões, no Excel 2007, o Icone só será visto com o aplicativo em "TELA CHEIA", então na rotina :
Sub ChangingExcelIcon() - acrescente a instrução abaixo ao final :
Application.DisplayFullScreen = True

Uma outra opção, sem ter de adicionar o Controle Imagem, você pode ter no Linka abaixo :
VBA – Mudando o Ícone da Aplicação
http://www.tomasvasquez.com.br/blog/mic ... -aplicacao

Qualquer duvida retorne.

[]s

 
Postado : 07/09/2011 6:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Amigo.

Primeira recomendação, se é que não o fez, é copiar o código da página original e não da traduzida pelo Google.

Em seguida:

Determinar qual o arquivo .ico que vai utilizar e qual o caminho.

Exibir a Caixa de Ferramentas de Controle.
Selecionar a ferramenta Imagem e desenhar na Plan1.

Clicar com o botão direito sobre a imagem/Propriedades

Na Propriedade Picture, clicar nas 'reticências" e selecionar arquivo .ico que vai utilizar.

Acertar esta linha: (no seu post está Plan1.Image1.ico.Handle)
Call ChangeXLIcon(Plan1.Image1.Picture.Handle)

Executar a Macro ChangingExcelIcon para alterar o ícone do Excel.
Executar a Macro MakeExcelIconDefaultAgain para voltar ao padrão.

Veja se executa como esperado.

 
Postado : 07/09/2011 6:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bem lembrado Edson, eu ia falar sobre a questão da tradução e acabei esquecendo.

Já recebi varias solicitações de ajudas sobre rotinas que não funcionavam, e quando ia ver, o pessoal usava o Google Translation, e não se apercebiam que tambem as expressões das rotinas são traduzidas, gerando erros.

eita, forum mais antenado que este, eu to pra ver, rsrsrsrsrsrsr

Valeu !!!!

abraços

 
Postado : 07/09/2011 6:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia.
Obrigado pelo retorno,
quando vou excutar aparece erro em

Call ChangeXLIcon(Plan1.Image1.ico.Handle)

Aguardo retorno.

 
Postado : 08/09/2011 4:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VBA, se reler a mensagem do Edson, verá que o mesmo alertou sobre este erro :

Acertar esta linha: (no seu post está Plan1.Image1.ico.Handle)
Call ChangeXLIcon(Plan1.Image1.Picture.Handle)

Este "ico" não existe na rotina, nem na original e nem na traduzida.

[]s

 
Postado : 08/09/2011 5:48 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa Tarde.

resolvi escolher a macro do forum tomasvasquez.
e possivel inserir um icone normal? pelo que entendi so coloca icones tipo:
winword - word,Notepad -bloco de notas,Calc -calculadora etc...

Aguardo retorno.

 
Postado : 08/09/2011 11:47 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VBA, você pode usar essa :

Mudando o ícone do aplicativo com VBA
http://www.tomasvasquez.com.br/blog/mic ... vo-com-vba

Mas não desista de continuar com a primeira sugestão que você deu, isso irá enriquecer seu conhecimento.

[]s

 
Postado : 08/09/2011 4:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Voltando a 1ª opção fiz as substituição indicada por vc aparece a msg o argumento não é opcional
erro idicado é aqui.

lngRet = SendMessage(hwnd, WM_SETICON, ICON_SMALL, ByVal hIcon)

Aguardo retorno.

 
Postado : 08/09/2011 4:54 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VBA, em qual Versão do Excel está fazendo a adaptação ?

Nas versões, 2003 e 2007, não tive nenhum problema, se estiver usando estas versões, refaça tudo desde o inicio, nos tópicos acima foram colocados passo a passo como deve proceder, se seguir corretamente não terá erro.

Lembre-se, após inserir o Controle "Imagem" na planilha, você deve definir na propriedade qual o icone, conforme comentou o Edson :
Na Propriedade Picture, clicar nas 'reticências" e selecionar arquivo .ico que vai utilizar
O controle adicionado, fica com o Nome "Image1", se alterar este nome tem de acertar na rotina.

Para o funcionamento correto, tem de criar um novo "MÓDULO" e colar todas as rotinas no mesmo.

Deculpe, mas por enquanto, não vou postar um modelo pronto, justamente para que você adquira mais conhecimento e aprenda a lidar com essas situações.

[]s

 
Postado : 08/09/2011 7:37 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro Coutinho.

Acredito que o erro esteja no ícone que estou usando,segui passo a passo o que vc me orientou pois tenho um pouco de conhecimento em VBA. Ultilizo a versão 2003 do excel.Segue anexo exemplo.

Aguardo retorno.

 
Postado : 08/09/2011 9:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VBA, quando lidamos com qualquer adaptação, seja em formulas, textos, precisamos tomarr o maior cuidado, e em programação esta atenção deve ser redobrada.

O erro em sua adapatação ocorre pelo digitação de uma expressão repetidda.

Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Apague-a e tudo correrá perfeitamente.

abraços

 
Postado : 08/09/2011 9:25 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Na mosca parceiro!
o problema e que qundo copie o código veio tudo duplicado apaguei quase todos menos esse.
Obrigado pelas orientações Sua e do Edson.

Abraços.

 
Postado : 08/09/2011 9:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite Senhores,

Estava lendo esse tópico e fui testar as sugestões em meu Excel (2007). Porém aqui não funcionou, dei uma longa "googada" para verificar se havia como modificar o ícone do Excel na barra de tarefas e nada encontrei. Alguns dos exemplos citados aqui e em outros fóruns alteram, no 2007, o ícone dentro da janela do Aplicativo Excel, mas na barra de tarefas permanece o ícone do Excel 2007. Algum colega já conseguiu realizar esse processo no 2007 ?

Valeu

 
Postado : 17/12/2011 8:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Guima.

Na rotina do exemplo postado funcionou no excel 2007 aqui, só tem um problema, quando abro mais de uma pasta o excel o icone volta ao normal.

Abraço.

 
Postado : 18/12/2011 3:46 pm
Página 1 / 2