Aviso de plazo de vigencia de operatividad libro

Para Dante Amor. Tengo el siguiente código que se fija en thisworkbook para marcar una caducidad en la operatividad del libro y me gustaría obtener también con una modificación del código un aviso de los días que restan para llegar a su finalización (a ser posible que empiece a avisar con un msg en el plazo de 10 días anteriores a su caducidad en los días sucesivos)

Dim FECHA_FINAL, FECHA_INICIAL As Date

FECHA_INICIAL = CDate(Format(Date, "dd/mm/yyyy"))

FECHA_FINAL = CDate(Format("22/2/2060", "dd/mm/yyyy"))

 If FECHA_INICIAL >= FECHA_FINAL Then ' SI EL TIEMPO DEL ARCHIVO EXPIRO ENTONCES SE PROTEJE EL ARCHIVO

 ThisWorkbook.Close True

End If

End Sub

1 Respuesta

Respuesta
3

Te anexo la macro actualizada

Private Sub Workbook_Open()
'Por.Dante Amor
    fecini = Date
    fecfin = CDate("27/02/2015")
    If fecini >= fecfin Then ' SI EL TIEMPO DEL ARCHIVO EXPIRO ENTONCES SE PROTEJE EL ARCHIVO
        MsgBox "EL TIEMPO DEL ARCHIVO EXPIRO", vbCritical
        ThisWorkbook.Close True
        Exit Sub
    End If
    '
    dif = fecfin - fecini
    If dif <= 10 Then ' SI EL TIEMPO DEL ARCHIVO EXPIRO ENTONCES SE PROTEJE EL ARCHIVO
        MsgBox "El archivo está próximo a vencer. Queda un plazo de: " & dif & " días.", vbExclamation
    End If
End Sub

Me faltó la línea para proteger el libro, cambia "abc" por el password que desees

Private Sub Workbook_Open()
'Por.Dante Amor
    fecini = Date
    fecfin = CDate("22/02/2015")
    If fecini >= fecfin Then ' SI EL TIEMPO DEL ARCHIVO EXPIRO ENTONCES SE PROTEJE EL ARCHIVO
        MsgBox "EL TIEMPO DEL ARCHIVO EXPIRO", vbCritical
        ActiveWorkbook.Protect "abc", Structure:=True, Windows:=True
        ThisWorkbook.Close True
        Exit Sub
    End If
    '
    dif = fecfin - fecini
    If dif <= 10 Then ' SI EL TIEMPO DEL ARCHIVO EXPIRO ENTONCES SE PROTEJE EL ARCHIVO
        MsgBox "El archivo está próximo a vencer. Queda un plazo de: " & dif & " días.", vbExclamation
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas