erro na execução de...
 
Notifications
Clear all

erro na execução de MACRO: Erro de Compilação

5 Posts
3 Usuários
0 Reactions
1,771 Visualizações
 lino
(@lino)
Posts: 8
Active Member
Topic starter
 

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

 
Postado : 17/04/2014 2:51 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

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

 
Postado : 17/04/2014 3:53 pm
 lino
(@lino)
Posts: 8
Active Member
Topic starter
 

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 ?

 
Postado : 18/04/2014 4:22 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

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

 
Postado : 18/04/2014 5:33 am
 lino
(@lino)
Posts: 8
Active Member
Topic starter
 

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.

 
Postado : 21/04/2014 4:07 am