Ir para conteúdo
  • Publicidade

Mensagem Recomendada

Olá!

Já vinha utilizando a situação de bloqueio de Impressão, mas agora tenho a necessidade de bloqueio do "x" ou fechar arquivo.

Com a inclusão da segunda situação de macro( "x"), estes dois juntos do modo que está não funciona o comando de fechar a planilha via botão,  creio que seja porque está repetido o comando  " Private Sub Workbook_BeforePrint(Cancel As Boolean)", pois quando utilizo somente a segunda situação em outra planilha, esta funciona.

 

Segue o que tenho:

 

' este vai bloquear o menu Imprimir

Private Sub Workbook_BeforePrint(Cancel As Boolean)

            If Range("B1").Value = "" Then

            MsgBox ("Click no Botão para executar todo o processo!! Imprimir e gravar. Obrigado!"), vbCritical, "Menu Bloqueado por Fabiano !!!"

            Cancel = True                

                    End If

                                      End Sub

  

__________________________________________________________________________

'este vai bloquear o (x) ou fechar planilha

Option Explicit

Public NoEvents As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If NoEvents Then Exit Sub

MsgBox "Para fechar utilize o Botão na Planilha!", vbInformation + vbOKOnly

Cancel = True

End Sub

___________________________________________________________________________

Sub BotaoFecheMe()

'Redefine a Variável

ThisWorkbook.NoEvents = True

'Suprime a mensagem de alerta para Salvar

Application.DisplayAlerts = False

'Salva o Arquivo

ThisWorkbook.Close savechanges:=True

Sheets("Fim").Select

    Range("A1").Select

       End Sub

 

Obrigado!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
16 horas atrás, Mfpinheiro disse:

... tenho a necessidade de bloqueio do "x" ou fechar arquivo.

1. você quer desabilitar o fechamento via "X" de qual caixa de diálogo (a que imprime, a que fecha o arquivo, a que salva, ...) ?

2. você quer ou desabilitar o "X" ou fechar o arquivo ? Não entendi.

 

Sugestão - deixe de lado por um momento os códigos que você está tentando utilizar e descreva com exatidão o seu objetivo.


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 09/07/2018 at 9:27 AM, osvaldomp disse:

Sugestão - deixe de lado por um momento os códigos que você está tentando utilizar e descreva com exatidão o seu objetivo.

Olá.

Tenho a necessidade de executar o bloqueio da impressão no modo padrão do Excel, somente pelo meu botão e também que seja bloqueado o fechamento da planilha  pelo: " arquivo fechar ou pelo " X", somente via botão

Essa seria a minha necessidade.

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se os códigos abaixo atendem.

Cole estes dois códigos no módulo de EstaPasta_de_trabalho.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
 Cancel = True
 MsgBox "clique no botão IMPRIMIR"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 If NoEvents Then Exit Sub
 MsgBox "clique no botão FECHAR"
 Cancel = True
End Sub

 

Cole estes dois e a declaração de variável em um módulo comum (menu Inserir / Módulo)
Public NoEvents As Boolean
Sub ImprimePlanilha()
 With ActiveSheet
  Application.EnableEvents = False
  .PrintOut
  Application.EnableEvents = True
 End With
End Sub

Sub SalvaFechaArquivo()
 NoEvents = True
 If Range("B1").Value <> "" Then
  Application.DisplayAlerts = False
  ThisWorkbook.Close savechanges:=True
  Application.DisplayAlerts = True
 End If
End Sub


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
[[Template core/front/global/guestCommentTeaser is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

×