About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2008-12-28
Há dias, por e-mail, fizeram-me a seguinte pergunta (adaptada): "Gostaria que determinado workbook deixasse de imprimir se o valor da célula escolhida como contador, fosse igual a 3 e que a folha não pudesse ser visível com o chamado PrintPreview, nem impressa a partir do Menú Imprimir, mas apenas através do ícone de impressão".
 
O Código:
 
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim nVal As Integer

    If Sheets(1).Range("A22500").Value = 3 Then
        MsgBox "Não pode imprimir mais nenhuma vez!..."
        Cancel = True
        Exit Sub
    Else

        nVal = Sheets(1).Range("A22500").Value
        nVal = nVal + 1
        Sheets(1).Range("A22500").Value = nVal
        MsgBox "Só pode imprimir mais!..." & 3 - nVal
    End If
End Sub


Private Sub Workbook_Open()

    For Each Ctrl In Application.CommandBars.FindControls(ID:=109)    ' Faz o disable do ícone Print Preview
        Ctrl.Enabled = False
    Next Ctrl
    

For Each Ctrl In Application.CommandBars.FindControls(ID:=4)    ' Faz o disable no Menu Ficheiro| Imprimir.
       Ctrl.Visible = False
    Next Ctrl

End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)

    For Each Ctrl In Application.CommandBars.FindControls(ID:=109)    ' Faz o enable do ícone Print Preview
        Ctrl.Enabled = True
    Next Ctrl
    
    For Each Ctrl In Application.CommandBars.FindControls(ID:=4)    ' Faz o enable no Menu Ficheiro| Imprimir.
        Ctrl.Enabled = True
    Next Ctrl

End Sub
 

Tópicos relacionados: