Notifications
Clear all

Ocultar Excel por VBA - Manter Icone na Barra de Tarefas

15 Posts
3 Usuários
0 Reactions
8,568 Visualizações
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 

Pessoal,

Application.Visible = False oculta o excel permitindo que apenas o formulário seja exibido. Isso faz sumir inclusive o ícone do excel que normalmente fica na barra de tarefas.

Pergunto: Existe algum modo de usar o Application.Visible = False, porém mantendo o ícone na barra de tarefas?

Valeu.

At

 
Postado : 29/05/2012 5:03 am
(@benzadeus)
Posts: 78
Trusted Member
 
Sub OcultarJanelas()
    Dim wnd As Window
    For Each wnd In Windows
        wnd.Visible = False
    Next wnd
End Sub

Sub ReexibirJanelas()
    Dim wnd As Window
    For Each wnd In Windows
        wnd.Visible = True
    Next wnd
End Sub
 
Postado : 30/05/2012 3:52 am
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 
Sub OcultarJanelas()
    Dim wnd As Window
    For Each wnd In Windows
        wnd.Visible = False
    Next wnd
End Sub

Sub ReexibirJanelas()
    Dim wnd As Window
    For Each wnd In Windows
        wnd.Visible = True
    Next wnd
End Sub

Fala benzadeus, blz!

Testei aqui, mas o comando acima oculta a planilha e não a pasta de trabalho.
Para ocultar a pasta de trabalho sei como fazer através do Application.Visible = False
O problema é que o icone do excel que normalmente fica na barra de tarefas some também.
No dia a dia, eu seleciono as pastas abertas no computador com o Alt+Tab
O problema é que outras pessoas do meu trabalho não usam o Alt+Tab e ficam constantemente dizendo que o excel sumiu. :shock:

Eu não sei se isso é possível, acho difícil ocultar a pasta e manter o icone na barra de tarefas.

Aguardo qualquer outra sugestão.

Obrigado.

At

 
Postado : 30/05/2012 5:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Porque não tentar especificar o livro...
Tipo....

Workbooks("O_Nome_Arquivo").window(1).hidden = True 
 
Postado : 30/05/2012 6:38 am
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 

Bom dia!!

Porque não tentar especificar o livro...
Tipo....

Workbooks("O_Nome_Arquivo").window(1).hidden = True 

Caro Alexandre, obrigado por responder, mas o comando acima resulta em erro "o objeto não aceita essa propriedade ou método". Tentei no evento open da pasta de trabalho e no initialize do formulário.

Outra coisa...o tópico trata de uma possível solução para que ao ocultar a pasta de trabalho excel (por ex: application.visible = false) mantenha o icone do excel na barra de tarefas. Me parece que o comando que você sugeriu serviria para especificar uma pasta para ocultar e não todas. Já tentei algumas vezes essa solução de especificar qual pasta quero ocultar, mas nunca consegui. Geralmente oculta todas. Se você souber como fazê-lo também será de grande valia.

Obrigado até o momento.

At

 
Postado : 30/05/2012 1:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Só para ficar mais claro ...quando você diz "pasta" é Workbook (Arquivo),ou uma planilha desse arquivo???? :?

Att

 
Postado : 30/05/2012 5:28 pm
(@benzadeus)
Posts: 78
Trusted Member
 

Por que você não oculta a Aplicação Excel mesmo então? Uma vez que um formulário está em execução, não é possível usar a Aplicação pai desse formulário, qual seria o problema em ocultar totalmente a Aplicação?

Mas para tal, você deve fazer um tratamento de exceção robusto que sempre dispare Application.Visible = True ao término da execução de sua rotina, caso contrário, a Aplicação permanecerá escondida dos outros usuários mesmo após o término de sua rotina.

Alternativamente, crie um Suplemento que possui esse formulário. Planilhas de Suplementos não são mostradas na janela padrão do Excel.

Por último e fortemente não recomendado, transforme sua Pasta de Trabalho temporariamente num Suplemento em tempo de execução com algo como:

Private Sub UserForm_Initialize()
    ThisWorkbook.IsAddin = True
End Sub

Private Sub UserForm_Terminate()
    ThisWorkbook.IsAddin = False
End Sub

De todas as opções que sugeri, essa faz exatamente o que quer, mas é a pior prática.

 
Postado : 30/05/2012 8:41 pm
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 

Alexandre, me refiro ao arquivo. Como já disse, uso o comando application.visible = false para ocultar o arquivo e exibir apenas o formulário. Até ae tudo certo!! Mas como eu disse, quando uso o comando citado acima, o icone do excel que normalmente fica na barra de tarefas, também some, afinal ele tb faz parte da aplicação que ficou oculta. Para encontrá-lo precisa usar Alt+Tab. Essa é a primeira situação.

A segunda é a possibilidade que você "cogitou" ao sugerir um comando que pudesse especificar qual arquivo quero ocultar, e não todos que estiverem abertos. Sinceramente as duas situações é quase impossível, tenho pesquisado e nunca vi essas soluções. Vejamos...

Benzadeus, como havia dito, eu sei ocultar toda aplicação, veja explicação acima. O negócio é que gostaria de ocultar a aplicação, exibindo somente o formulário. Se você fizer isso ae no seu computador usando o comando application.visible = false, verá que o icone do excel tb some da barra de tarefas, sendo possível selecionar o formulário em execução apenas pelo Alt+Tab.

Por último...o comando que você sugeriu ThisWorkbook.IsAddin = True somente oculta uma planilha. Não preciso do comando para ocultar o arquivo, isso eu já mencionei varias vezes aqui. Quero saber se existe uma maneira de ocultar e manter o icone na barra de tarefas. Feito isso, queria verificara possibilidade de especificar qual arquivo do excel quero ocultar.

Obrigado pela paciência ae galera.

At

 
Postado : 31/05/2012 5:32 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Já tentou assim?

Private Sub UserForm_Initialize()
Application.WindowState = xlMinimized
End Sub
 
Postado : 31/05/2012 11:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Creio que por default, qq aplicativo que rode no windows, quando minimizado, fica na barra de tarefas, porem dessa maneira não ficam "ocultos".
Talvez voce se referira a Barra de Notificação (aquela onde fica o relogio entre outros), quando minimizado para essa barra, o aplicativo fica, oculto (pode "dar" Alt+tab que não navega para lá).
Nessa situação, sei que tem alguns codigos em Vb (http://sharpcode.com.br/blogs/artigos/archive/2009/02/10/minimizando-o-aplicativo-para-a-225-rea-de-notifica-231-227-o-do-windows.aspx); e alguns aplicativos que se propoem a fazer isso (http://www.baboo.com.br/conteudo/modelos/All-to-Tray-minimize-qualquer-janela-na-area-de-notificacao_a13645_z0.aspx)

 
Postado : 31/05/2012 1:27 pm
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 

joseA, blz meu caro! Com relação a manter o icone na barra de tarefas o comando atende perfeitamente.
Qual a possibilidade de especificar qual o arquivo quero manter assim. Quando abro outros arquivos do Excel fica conflitante. Consegue entender?

Reinaldo, me referia exatamente a barra de tarefas. Teste o comando sugerido pelo amigo joseA que entenderá o que quiz dizer. Obrigado pela resposta.

At

 
Postado : 01/06/2012 6:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Ainda estou boiando mas, tente tirar proveito disso..

Option Explicit
Sub HideWorkBook(swb As String, bHide As Boolean)
    Windows(swb).Visible = bHide
    End Sub
             
Sub HideIt()
        HideWorkBook ThisWorkbook.Name, False
        End Sub

Sub ShowIt()
   HideWorkBook ThisWorkbook.Name, True
    End Sub
 
Postado : 01/06/2012 5:26 pm
(@benzadeus)
Posts: 78
Trusted Member
 

Eu também não entendi até agora o que o OP quer, mas segue mais um exemplo para se colar num formulário:

Dim clc As Collection

Private Sub UserForm_Initialize()
    
    Dim wb As Workbook
    
    Set clc = New Collection
    
    'Armazena Pastas de Trabalho numa coleção
    For Each wb In Workbooks
        clc.Add wb
        wb.IsAddin = True
    Next wb
End Sub

Private Sub UserForm_Terminate()
    Dim wb As Workbook
    
    'Restaura propriedade de Suplemento
    For Each wb In clc
        wb.IsAddin = False
    Next wb
End Sub
 
Postado : 03/06/2012 7:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se alguns destes topicos ajudam :

Icone Personalizado Form e Barra do Windows
viewtopic.php?f=21&t=2937&p=13302&hilit=icone#p13302

Minimizar,Maximar e Icone no Form(VBA)
viewtopic.php?f=21&t=3051&p=13809&hilit=icone#p13809

Userform com icone próprio (RESOLVIDO)
http://www.tomasvasquez.com.br/forum/vi ... 8t5Q4GylIo

[]s

 
Postado : 03/06/2012 8:54 am
(@depoisteconto)
Posts: 183
Reputable Member
Topic starter
 

Alexandre, Benzadeu e Mauro, obrigado pelas resposta, mas o joseA já havia respondido satisfatoriamente ao sugerir o comando Application.WindowState = xlMinimized. Se quiserem entender melhor o que Eu pretendia, basta testar o comando application.visible = false e depois usarem o comando sugerido acima e verão que ambos ocultam o arquivo excel, no entanto o Application.WindowState = xlMinimized mantém o icone do excel na barra de tarefas permitindo sua seleção pelo click do mouse por exemplo. Com o application.visible = false a única maneira de selecionar o arquivo é pelo Alt+Tab.

A segunda pergunta que fiz em resposta ao joseA foi sobre a possibilidade de especificar qual arquivo excel quero ocultar. Se testarem os comandos acima verão que qualquer outro arquivo do excel que estiver aberto ficara oculto também, e isso não é bom.

Mauro,

Dos links sugeridos, esse aqui Minimizar,Maximar e Icone no Form(VBA) viewtopic.php?f=21&t=3051&p=13809&hilit=icone#p13809 traz uma planilha com um opção modal para usar a planilha mesmo tendo o formulário ativo. Pelo que pude ver, é possível selecionar a planilha, mas não editá-la.

At

 
Postado : 04/06/2012 6:21 am