Olá Pessoal, Boa Tarde.
Sou novo aqui no fórum e espero que alguém possa me ajudar.
É o seguinte.
Estou com um problemão na hora de excutar uma MACRO. preciso que ao executar a pasta de trabalho , todos os menus e abas desaparecem, e fique apenas a planilha, sem os botões de minimizar, restaurar e fechar.
Eu consegui a primeira parte. Fiz uma Macro para ocultar os menus e colocar a planilha em tela cheia. porém se eu restaurar a mesma ou minimizar e voltar, os menus aparecerão novamente, e o meu objetivo irá por água abaixo.
Como posso fazer a segunda parte ? Ocultar botões de minimizar, Restaurar e Fechar ? O código que usei estava dando erro de compilação. Andei pesquisando e vi que era por causa da versão. Eu uso x64. Porém quero que a macro rode tanto em versões do office 2010 versão x64 e x32 bits, quanto nas anteriores à 2007.
o Código que utilizei para a primeira parte foi (esconder menus e abrir em tela cheia):
Sub Entrar1()
Dim barras
On Error Resume Next
For Each barras In Application.CommandBars
barras.Enabled = False
Next
Application.DisplayFullScreen = True
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHorizontalScrollBar = False
ActiveWindow.DisplayVerticalScrollBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayStatusBar = False
End Sub
Sub Sair2()
Dim barras
On Error Resume Next
For Each barras In Application.CommandBars
barras.Enabled = True
Next
Application.DisplayStatusBar = True
Application.DisplayFormulaBar = True
Application.DisplayFullScreen = False
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayWorkbookTabs = True
End Sub
Experimente utilizar os eventos, em EstaPasta_de_Trabalho, use os eventos "Open", "Before Close", "Activate", "Deactivate", vai ficar assim:
Private Sub Workbook_Activate() Dim barras On Error Resume Next For Each barras In Application.CommandBars barras.Enabled = False Next Application.DisplayFullScreen = True ActiveWindow.DisplayHeadings = False Application.DisplayFormulaBar = False ActiveWindow.DisplayHorizontalScrollBar = False ActiveWindow.DisplayVerticalScrollBar = False ActiveWindow.DisplayWorkbookTabs = False Application.DisplayStatusBar = False End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim barras On Error Resume Next For Each barras In Application.CommandBars barras.Enabled = True Next Application.DisplayStatusBar = True Application.DisplayFormulaBar = True Application.DisplayFullScreen = False ActiveWindow.DisplayHeadings = True ActiveWindow.DisplayHorizontalScrollBar = True ActiveWindow.DisplayVerticalScrollBar = True ActiveWindow.DisplayWorkbookTabs = True End Sub Private Sub Workbook_Deactivate() Dim barras On Error Resume Next For Each barras In Application.CommandBars barras.Enabled = True Next Application.DisplayStatusBar = True Application.DisplayFormulaBar = True Application.DisplayFullScreen = False ActiveWindow.DisplayHeadings = True ActiveWindow.DisplayHorizontalScrollBar = True ActiveWindow.DisplayVerticalScrollBar = True ActiveWindow.DisplayWorkbookTabs = True End Sub Private Sub Workbook_Open() Dim barras On Error Resume Next For Each barras In Application.CommandBars barras.Enabled = False Next Application.DisplayFullScreen = True ActiveWindow.DisplayHeadings = False Application.DisplayFormulaBar = False ActiveWindow.DisplayHorizontalScrollBar = False ActiveWindow.DisplayVerticalScrollBar = False ActiveWindow.DisplayWorkbookTabs = False Application.DisplayStatusBar = False End Sub
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Olá gtsalikis.
Eu usei os códigos que você passou e funcionou perfeitamente para a primeira parte, porém o meu problema continua.
o documento abre em tela cheia, mas se eu clicar para restaurar a guia ou minimizar e voltar na mesma, ela não estará mais em tela cheia, e todos os menus estarão visíveis.
Como faço para desativar esses controles de minimizar/restaurar e fechar ?
Não tenho excel 2010 e nem 64 bits, mas de uma olhada no link abaixo a rotina para 2003 e 2007 - 32bits para evitar que aconteça Restaurar a tela apos minimizar e maximizar.
Tela Cheia (Fullscreen) Excel 2007
http://www.tomasvasquez.com.br/forum/vi ... 1EMElVdXQQ
Quanto a executar em versões 64 e 32 de uma olhada aqui:
Compatibilidade de Chamadas API no VBA
http://www.ambienteoffice.com.br/office ... pi_no_vba/
[[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Consegui resolver meu problema. Obrigado Mauro Coutinho.
Os links que você passou foram muito úteis.
Caso alguém encontre o mesmo problema que eu, está aqui a solução :
#If VBA7 Then
'Região que é compilada somente no VBA do Office 2010, 32 e 64 bits
#If Win64 Then
'Região que é compilada somente no VBA do Office 2010 64 bits
#Else
'Região que é compilada somente no VBA do Office 2010 32 bits
#End If
#Else
'Região que é compilada somente no VBA do Office 2007 ou inferior
#End If
Mais uma Vez, Obrigado aos dois que me responderem.