Como se pueden enviar emails evaluando unas celdas con formato condicional
Tengo un libro excel con varias pestañas de información de documentos de contratas y necesito que se evalúe el vencimiento de algunos de estos documentos. Siendo más concreta, en el rango de celdas A7:A40 tengo el nombre de un trabajador y en los rangos D7:D40 las fechas de caducidad de un documento que actualmente tiene un formato condicional cambiando de color verde si D7+365>=HOY() o a rojo s D7+365<=HOY(), se aplica en el rango D7:D40. De igual modo tengo en la columna G con otro documento. Lo que necesito es que se me evalúen estos rangos de celdas y si están en rojo porque el documento ha vencido se mande una email desde OUTLOOK al destinatario que aparece en la celda A1 indicando el vencimiento del documento que aparece en la celda D6 o G6 e identificando el trabajador que esta en el rango A7:A:40.
Buscando en los foros he encontrado un pequeño ejemplo pero solo me evalúa una celda, no un rango y no atienda al formato de rojo y verde.
¿Cómo podría cambiarlo para que se adaptara a mis necesidades? Y por otra parte ¿hay alguna forma de añadir el pie de firma dentro de la macro para no tener que añadirla desde el outlook a mano?
Muchas gracias
Este es el código :
Sub enviaMail
Dim myOLApp
Dim myOLItem
Dim olMailItem
Dim miasunto As String, mitexto As String, midire As String
'se la celda D7 está vacía cancela el proceso
If Range("D7") = "" Then Exit Sub
'aquí aún se debe evaluar si está en rojo o no.
'ajustar según las refeencias de cada libro
midire = Range("H3").Value 'O UNA DIRECCIÓN PREDEFINIDA: midire = "[email protected]"
miasunto = "Aviso de Vto"
mitexto = "Estimado Cliente: comunicamos a Ud el vto ........."
'se crea un objeto Outlook, Mail
Set myOLApp = CreateObject("Outlook.Application")
Set myOLItem = myOLApp.CreateItem(olMailItem)
'se establecen los campos del mensaje
With myOLItem
.To = midire 'campo A o Para
.Subject = miasunto 'campo Asunto
.Body = mitexto 'cuerpo del mensaje
.Display '.send 'mostrar o enviar
End With
'se liberan las variables creadas
Set myOLApp = Nothing
Set myOLItem = Nothing
End Sub