Tamaño de letra en email con macro de excel

Hola, soy bastante novato en esto de las macros de excel y tengo un problemilla al enviar emails con las macros.
En general la macro funciona bien y los emails se envían bien. El cuerpo del mensaje está en HTML con la etiqueta HTMLBody. Al principio lo tenía puesto todo como cadena de texto con HTML y no daba problemas, pero era un poco lioso conservar todos los espacios bien, ya que la parte central tiene forma de tabla. Esto es lo que he cambiado, he introducido una tabla con HTML. El problema es que me respeta el tamaño de la letra de las primeras líneas del email( un párrafo), pero el tamaño de la letra de toda la tabla no lo respeta y sale más grande.
Si visualizo el email con .display se ve bien, todo el email con la letra del mismo tamaño(incluida la tabla), pero al darle a enviar, y visualizar el email después de ser enviado el tamaño de la letra de la tabla es más grande.
Copio el código de la parte del envío del correo por si pudieras ver algo incorrecto:
Sub enviocorreo0()
Set OutMail = OutApp.CreateItem(0)
   cuerpo = ""
   On Error Resume Next
      OutMail.Subject = "Reclamación de Originales Pendientes de Recibir en DCF -Mutua Madrileña-"
      OutMail.To = "(xxxxxx);(xxxxxx);(xxxxxx)" '= correo
      OutMail.CC = copia & "(xxxxxx);(xxxxxx)"
        cadena1 = "<font size=2 face=Arial><br>" & hora & "<br><br>
<p>Primer párrafo, que sale con el tamaño de letra bien.<br><br><br></p>
</font>"
'aquí empieza la tabla, y ya no se respeta el tamaño de la letra
        cadena2 = "<font size=2 face=Arial>
<table width=100% cellspacing = 7>
<font size=2 face=Arial>
<tr>
<th width=70>SUCURSAL</th><th width=35>AÑO</th><th width=80>PROPUESTA</th><th width=200 align = left>NOMBRE Y APELLIDOS</th><th width=70>NIF</th><th align = left>DETALLE INCIDENCIA</th>
</tr>
"
        For b = a To 20  'esta parte de la tabla depende del tipo de correo, se rellena con los valores de esas celdas, y es variable el nº de filas
              cuerpo = cuerpo + "
<tr>
<td align= center>" & Range("A" & b).Value & "</td>
<td align= center>" & Range("B" & b).Value & "</td>
<td align= center>" & Range("C" & b).Value & "</td>
<td align = left>" & Range("D" & b).Value & "</td>
<td align= center>" & Range("E" & b).Value & "</td>
<td align= left>" & Range("F" & b).Value & "</td>
</tr>
"
        Next b
        fin = "</font>
</table>
</font>"
              OutMail.htmlbody = cadena1 + cadena2 + cuerpo + fin 
      OutMail.Display
      'OutMail.Send
        a = a + polizas - 1
    On Error GoTo 0
End Sub
¿Hay algo que pueda hacer para controlar ese tamaño de letra cuando envío los emails?
Muchas gracias de antemano por tu ayuda.

1 Respuesta

Respuesta
1
Tu problema no es de EXCEL si de HTML, yo no soy bueno en eso, pero tengo un editor de html, allí cree una tabla en y el código que me dio fue este:
<table style="size: 2; text-align: center; height: 80px; width: 652px;"
 border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="font-family: Arial; width: 70px;"><small>SUCURSAL</small></td>
<td style="font-family: Arial; width: 35px;"><small>A&Ntilde;O</small></td>
<td style="font-family: Arial; width: 80px;"><small>PROPUESTA</small></td>
<td style="font-family: Arial; width: 200px;"><small>NOMBRE
Y APELLIDOS</small></td>
<td style="font-family: Arial; width: 70px;"><small>NIF</small></td>
<td style="font-family: Arial; width: 150px;"><small>DETALLE
INCIDENCIA</small></td>
</tr>
<tr>
<td style="width: 70px;"></td>
<td style="width: 35px;"></td>
<td style="width: 80px;"></td>
<td style="width: 200px;"></td>
<td style="width: 70px;"></td>
<td style="width: 150px;"></td>
</tr>
</tbody>
</table>
Pruébalo a ver si te sirve
Muchas gracias, me ha sido muy útil. Me daba algún problemilla con las comillas pero investigando el atributo "style" lo he podido solucionar.
Parece ser que con "style" si me mantiene el tamaño de letra dentro de la tabla.
Muchas gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas