Notifications
Clear all

Erro no codigo VBA para ocultar barra de ferramentas

11 Posts
2 Usuários
0 Reactions
5,226 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite amigos! Estou com uma duvida no codigo abaixo ele abre o arquivo conforme eu quero porem quando ele minimiza ele abre todas as barras

Private Sub Auto_Open()
'
' Macro abertura automática
'

Sheets("Conhecimento do Transporte").Select
Range("s45:s45").Select
ActiveWindow.Zoom = 120
Application.ScreenUpdating = False
Application.DisplayFullScreen = True
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayHeadings = False
.DisplayGridlines = False
End With

End Sub

se alguem souber o que esta errado por favor me ajude.

Obrigado a Todos

 
Postado : 12/10/2011 5:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Flávio!

Você esta fazendo isso em qual versão do excel?

Acredito que para resolver seu problema, seja necessário utilizar a macro nos eventos "Workbook_Activate" e "Workbook_Deactivate", que ai quando ativar a pasta de trabalho, ele oculta, e quando minimizar ou desativar ele exibe novamente as barras.

Não sei se entendi direito sua necessidade.

 
Postado : 13/10/2011 5:02 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Marcos,

Obrigado pelo retorno. Estou utilizando a versão 2007. Eu preciso que ele permaneça sempre oculto somente quanto clicar em um botão especifico para sair que o excel voltei com as barras normalmente. Vou testar sua dica.

Novamente obrigado.

 
Postado : 13/10/2011 6:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde.
Tente assim e atribua as duas macros aos botões.

Sub entra() ' monta ambiente
Sheets("Conhecimento do Transporte").Select
Range("s45:s45").Select
ActiveWindow.Zoom = 100
Application.ScreenUpdating = False
Application.DisplayFullScreen = True
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayZeros = False
.DisplayHeadings = False
.DisplayGridlines = False
End With

End Sub

Sub sai() ' retorna ambiente
Sheets("Conhecimento do Transporte").Select
Range("s45:s45").Select
Application.ScreenUpdating = True
Application.DisplayFullScreen = False
Application.DisplayFormulaBar = True
ActiveWindow.DisplayHeadings = True
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
.DisplayHeadings = True
.DisplayZeros = True
.DisplayHeadings = True
.DisplayGridlines = True
End With

Abraço.

 
Postado : 13/10/2011 10:50 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Colegas, pelo que entendi, a questão não é exibir o excel em Tela Cheia, para isso as rotinas acima funcionam peerfeitamente, mas a questão é, no Excel 2007 apos aplicar as rotinas, se MINIMIZARMOS a tela e depois MAXIMIZARMOS os menus reaparecem.
Então, vale lembrar que isto não ocorre no Excel 2003 apos utilizar as rotinas postadas, mas no Excel 2007 as opções não são mantidas, pelo simples fato do Excel 2007 utilizar "Ribbons", então para se evitar isto devemos utilizar as rotinas abaixo :

Mais uma vez lembrando, é para Excel 2007 :

Sub TelaCheia_On()
    'Oculta todos os Menus (Ribbons)
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
    
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayHeadings = False
    
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = False
        .DisplayWorkbookTabs = False
        .DisplayHeadings = False
        .DisplayZeros = False
        .DisplayHeadings = False
        .DisplayGridlines = False
    End With
    
End Sub

Sub TelaCheia_Off()
    'Exibe todos os Menus (Ribbons)
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    
    Application.DisplayFormulaBar = True
    ActiveWindow.DisplayHeadings = True
    
    With ActiveWindow
        .DisplayHorizontalScrollBar = True
        .DisplayVerticalScrollBar = True
        .DisplayWorkbookTabs = True
        .DisplayHeadings = True
        .DisplayZeros = True
        .DisplayHeadings = True
        .DisplayGridlines = True
    End With
    
    End Sub

Uma dica para se ocultar osRibbons e exibir somente os Menus é utilizando o confunto de Teclas "CTRL+F1", ou enviar via SendKeys :

A Rotina abaixo não funcionará se rodar no Editor do VBA, a mesma tem dde ser chamada via opção, Caixa de Macros, Excutar, ou "ALT+F8" escolher a rotina "OcultaRibbon" e Excutar.

Sub OcultaRibbon()
    Application.SendKeys "^{F1}", True
End Sub

Ainda não dominei todas as tecnicas destes Ribbon, existe tambem a opção de se Personalizar criando um arquivo XML, mas ainda estou estudando aos poucos.

Façam os testes e qualquer duvida retornem.

[]s

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

Show de bola Coutinho!

Funcionou perfeitamente. Fiz uma modificação na rotina para funciar auto open. Muito Obrigado!

Por isso que adora essa comunidade.

 
Postado : 14/10/2011 4:45 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Flavio, pelo pouco que vi até o momento sobre personalização no excel 2007, esta dica é bem simples e aplicável, mas como eu disse, existem outras formas de se lidar com isto, criando personalizações bem mais elaboradas, e para isto usamos arquivo XML.
Não da para repassar tudo aqui, mas de uma olhada no link abaixo, tem um tutorial de personalização, e como eu aina estou estudando a respeito e devido ao meu local de trabalho só ter a v 2003, não pude me aprofundar mais, mas vejam que não é tão dificil :

Um guia para personalizar a Faixa de Opções do 2007 Office
http://64.4.10.145/pt-br/magazine/dd633481

Existe até um programa que pode ser baixado da Microsot para facilitar.

Microsoft Office 2007 Custom UI Editor
http://microsoft-office-2007-custom-ui- ... ormer.com/

[]s

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

Cri um command button com o caption Cmdtela e adicione o codigo a baixo

Private Sub cmdTela_Click()
On Error Resume Next
If cmdTela.Caption = 1 Then
For Each bf In Application.CommandBars
bf.Enabled = False
Next
Application.Caption = Empty
Application.DisplayFormulaBar = False
Application.ActiveWindow.Caption = False
cmdTela.Caption = 2
ElseIf cmdTela.Caption = 2 Then
For Each bf In Application.CommandBars
bf.Enabled = True
Next
Application.Caption = Empty
Application.DisplayFormulaBar = True
Application.ActiveWindow.Caption = False
cmdTela.Caption = 1
End If
End Sub

 
Postado : 06/11/2011 8:42 am
(@jamga)
Posts: 3
New Member
 

Senhores,

Primeiramente obrigado pela discussão, serviu de fonte para esclarecimento de uma dúvida que eu tinha sobre a funcionalidade Fullscreen.

Porém, preciso saber se existe algum comando que permita essa visualização somente no arquivo em que eu inserir o código.

Por exemplo, o usuário terá acesso a uma ferramenta que o display dela é full screen, porém se quiser abrir outro arquivo simultaneo, pode fazê-lo em display tradicional.

Voces poderiam me ajudar?

Obrigado.

 
Postado : 27/02/2012 12:30 pm
(@jamga)
Posts: 3
New Member
 

Senhores,

Para quem estiver com a mesma dúvida que eu estava. Encontrei a resposta nesse link: http://www.ozgrid.com/forum/showthread.php?t=84709

E o código para criar o vba, no meu caso, foi:

Private Sub Workbook_Activate()
On Error Resume Next
With Application
.DisplayFullScreen = True
.CommandBars("Worksheet Menu Bar").Enabled = False
End With

End Sub

Private Sub Workbook_Deactivate()
On Error Resume Next
With Application
.DisplayFullScreen = False
.CommandBars("Worksheet Menu Bar").Enabled = True
End With

End Sub

Espero que ajudem quem precisar também.
Abraços.

 
Postado : 28/02/2012 11:29 am
(@jamga)
Posts: 3
New Member
 

Senhores,

Para quem estiver com a mesma dúvida que eu estava. Encontrei a resposta nesse link: http://www.ozgrid.com/forum/showthread.php?t=84709

E o código para criar o vba, no meu caso, foi:

Private Sub Workbook_Activate()
    On Error Resume Next
    With Application
        .DisplayFullScreen = True
        .CommandBars("Worksheet Menu Bar").Enabled = False
    End With
     
End Sub
 
Private Sub Workbook_Deactivate()
    On Error Resume Next
    With Application
        .DisplayFullScreen = False
        .CommandBars("Worksheet Menu Bar").Enabled = True
    End With
     
End Sub

Espero que ajudem quem precisar também.
Abraços.

 
Postado : 28/02/2012 11:29 am