Por que você deve optar por criar um código no Excel VBA utilizando a função “Windows(Thisworkbook.name).visible=false” em vez de “Application.visible=false” quando desejar ocultar apenas uma pasta de trabalho em específico.

Quando se trata de automatizar tarefas e criar funcionalidades personalizadas no Microsoft Excel, o uso do Visual Basic for Applications (VBA) desempenha um papel fundamental. O VBA permite que os usuários criem macros e escrevam código para estender a funcionalidade do Excel. Ao desenvolver soluções VBA, pode ser necessário ocultar uma pasta de trabalho específica, e existem duas abordagens comumente usadas para fazer isso: a função “Windows(Thisworkbook.name).visible=false” e “Application.visible=false”. Neste artigo, vou destacar os motivos pelos quais você deve optar por utilizar a função “Windows(Thisworkbook.name).visible=false” para ocultar apenas uma pasta de trabalho em específico.

Antes de entrar nos detalhes, é importante entender a diferença entre as duas abordagens mencionadas. A propriedade “Application.Visible” é usada para controlar a visibilidade de todo o aplicativo Excel. Quando definido como “False”, o aplicativo Excel se torna invisível, ocultando todas as pastas de trabalho abertas. Por outro lado, a função “Windows(Thisworkbook.name).Visible” é usada para controlar a visibilidade de uma pasta de trabalho específica. Ao definir essa função como “False”, apenas a pasta de trabalho na qual o código está sendo executado se torna invisível, enquanto outras pastas de trabalho permanecem visíveis.

Aqui estão alguns motivos pelos quais a função “Windows(Thisworkbook.name).Visible=false” é preferível ao ocultar apenas uma pasta de trabalho em específico:

1. Controle granular: Ao utilizar a função “Windows(Thisworkbook.name).Visible=false”, você tem um controle mais preciso sobre a visibilidade da pasta de trabalho. Isso permite ocultar apenas a pasta de trabalho atual, enquanto mantém outras pastas de trabalho visíveis. Essa abordagem é particularmente útil quando você está trabalhando com várias pastas de trabalho abertas simultaneamente e deseja ocultar apenas uma delas.

2. Melhor usabilidade:
Ao ocultar apenas a pasta de trabalho atual, você pode garantir uma melhor experiência de usuário. Por exemplo, se você está desenvolvendo um aplicativo ou uma ferramenta baseada no Excel que possui várias janelas ou painéis, ocultar apenas a pasta de trabalho relevante mantém as outras partes do aplicativo visíveis e acessíveis para o usuário. Isso evita a confusão e melhora a usabilidade geral.

3. Flexibilidade: Ao usar a função “Windows(Thisworkbook.name).Visible=false”, você tem a flexibilidade de ocultar ou exibir a pasta de trabalho conforme necessário durante a execução do código. Você pode alternar facilmente entre visível e invisível, dependendo das condições e lógica do seu código. Isso permite que você crie soluções mais dinâmicas e adaptáveis.

4. Evitar impactos indesejados:
Ao ocultar toda a aplicação Excel usando a propriedade “Application.Visible=false”, você pode inadvertidamente afetar outras funcionalidades e processos que dependem da visibilidade do Excel. Por exemplo, se houver outros aplicativos ou macros em execução que confiam na visibilidade do Excel, ocultá-lo completamente pode causar problemas inesperados. Ao usar a função “Windows(Thisworkbook.name).Visible=false”, você evita esses impactos indesejados, mantendo o restante da aplicação visível e funcional.

5. Melhor legibilidade e manutenção de código:
Ao utilizar a função “Windows(Thisworkbook.name).Visible=false”, seu código se torna mais legível e compreensível. É imediatamente evidente que você está lidando com a visibilidade da pasta de trabalho atual, tornando o código mais fácil de entender e dar manutenção no futuro. Por outro lado, se você usar a propriedade “Application.Visible=false” em seu código, pode não ser tão óbvio o que está sendo ocultado, especialmente quando você revisar o código mais tarde ou compartilhá-lo com outras pessoas.

Em resumo, a função “Windows(Thisworkbook.name).Visible=false” é uma abordagem preferível quando você deseja ocultar apenas uma pasta de trabalho em específico no Excel VBA. Oferece um controle granular, melhor usabilidade, flexibilidade, evita impactos indesejados em outras funcionalidades e melhora a legibilidade e a manutenção do código. Lembre-se de considerar as necessidades específicas do seu projeto ao decidir qual abordagem usar, mas em muitos casos, a função “Windows(Thisworkbook.name).Visible=false” será a opção mais adequada.

Nesta aula vou ensinar você como utilizar a função  “Windows(Thisworkbook.name).Visible=false” na prática e como é facil implementar em seus projetos.

Código Pasta de trabalho:

Private Sub Workbook_Open()

On Error GoTo erro

‘Código para ocultar a pasta de trabalho
If Workbooks.Count > 1 Then
Windows(ThisWorkbook.Name).Visible = False
Else
Windows(ThisWorkbook.Name).Visible = False
Application.Visible = False
End If

'Chamar o nosso formulário
form.Show vbModeless

Exit Sub

erro:

MsgBox "Não foi possível inicializar a nossa pasta de trabalho"

ThisWorkbook.Save

'Fechar arquivo
If Workbooks.Count > 1 Then
Windows(ThisWorkbook.Name).Close
Else
Application.Quit
End If

End Sub
Código para botão de exibição da planilha

Private Sub btMenu4_Click()

‘Código para exibir novamente a pasta de trabalho
If Workbooks.Count > 1 Then
Windows(ThisWorkbook.Name).Visible = True
Else
Windows(ThisWorkbook.Name).Visible = True
Application.Visible = True
End If

End Sub

Até o próximo SelfBlog!
Fique ligado no nosso canal do Youtube para mais conteúdo de Excel VBA!

2 comentários em “Excel VBA – Ocultando apenas uma pasta de trabalho”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Carrinho de compras