Mostrar imagen en la firma de Outlook
ResueltoTonyLucky -
Hola a todos,
Envío correos en Outlook a través de una aplicación VBA Excel. Según el destinatario del correo, se añade una firma al correo. Estas firmas están almacenadas en formato htm en una carpeta.
Funciona muy bien, excepto si añado una imagen a la firma. Entonces recibo el mensaje "no podemos mostrar la imagen".
Tras investigar, encontré dos pistas:
- Asegurarse de que el correo esté en formato HTML. Y así es
- Desactivar, en el centro de gestión de la privacidad, la opción "no descargar automáticamente..." Y así es
No he encontrado otras pistas, ni siquiera en sitios de habla inglesa. Aquí está la parte del código que envía el correo:
With LeMail.CreateItem(olMailItem) .BodyFormat = olFormatHTML .SentOnBehalfOfName = Me.CBX_1.Text .To = Valeur_Cherchee_A .HTMLBody = "<p>" & texto1 & "</p><br><p>" & firma & "</p>" .Display 'permite validar el correo antes de enviarlo End With
Si alguien tiene alguna idea, de antemano, muchas gracias. Añadir un logo a la firma hace que el correo sea más profesional.
Tony
8 respuestas
-
Hola,
Solo tienes que añadir tu logo directamente en Outlook y luego solo concatenarlo en tu código.
Set LeMail = CreateObject("Outlook.Application") With LeMail.CreateItem(0) .BodyFormat = olFormatHTML .To = "***@***" .Subject = "Asunto del correo" .HTMLBody = .Body & "<p>" & texto1 & "</p><br>" .Display ' Permite validar antes de enviar End With -
Buenas noches,
Gracias por su respuesta.
Estoy revisando en Outlook, pero no veo dónde guardar una imagen. Puedo añadir una a un correo, pero no es automático.
Dependiendo de los destinatarios, puedo tener diferentes firmas, con una imagen específica.
¿Podría ser más preciso y tener la amabilidad de indicarme el procedimiento a seguir? Lo mismo para la parte de código.
De antemano, gracias.
-
A continuación, las etapas para insertar un logo en una firma en Outlook, sin usar código:
---1. Abrir la configuración de firmas en Outlook
1. Abra Outlook.
2. Haga clic en Archivo en la esquina superior izquierda.
3. Vaya a Opciones.
4. En la ventana que se abre, seleccione la pestaña Correo en el menú de la izquierda.
5. Haga clic en el botón Firmas en la sección Crear o modificar firmas para los mensajes.
---2. Crear o modificar una firma
1. En la ventana Firmas y temas:
Haga clic en Nuevo para crear una nueva firma.
Ponga un nombre a su firma (por ejemplo: MiFirma).
2. En el área de edición de la firma, añada su texto (nombre, función, datos de contacto, etc.).
---3. Añadir un logo o una imagen
1. Coloque el cursor en el lugar donde desea insertar la imagen.
2. Haga clic en el ícono Imagen (pequeño marco con una montaña).
3. Seleccione el archivo de su logo o imagen en su computadora.
4. Haga clic en Insertar para añadir la imagen.
---4. Ajustar la imagen
1. Una vez que la imagen esté insertada, puede:
Redimensionar la imagen: haga clic en las esquinas para ajustar su tamaño.
Alignar la imagen: use las opciones de formato disponibles en la barra de edición.
---
5. Elegir los correos electrónicos a los que aplicar la firma
1. En la sección Elegir una firma por defecto:
Mensajes nuevos: seleccione su firma para que se añada automáticamente a los nuevos correos electrónicos.
Respuestas y reenvíos: elija si desea incluir la firma en sus respuestas.
---
6. Guardar y usar
1. Haga clic en Aceptar para guardar su firma.
2. Cierre la configuración y pruebe creando un nuevo mensaje para verificar que el logo aparezca correctamente.
---Consejos
Formatos soportados: Utilice imágenes en formatos comunes como PNG, JPEG o GIF.
Tamaño de la imagen: Optimice el tamaño de su logo (máx. 200-300 píxeles de ancho) para evitar que el correo electrónico sea pesado.
Verificación: Envíese una prueba a su propia dirección para verificar la visualización.
Así, su logo estará integrado en todos los correos electrónicos que envíe con esta firma.
-
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
hola,
- en el fragmento de código que compartes, ¿qué contiene la variable "signature"?
- el mensaje "no podemos mostrar la imagen" se muestra cuándo y por qué?
- ¿qué contiene el body html al recibir el mensaje?
-
Buenas noches,
Funciona muy bien, salvo si agrego una imagen a la firma. Entonces aparece el mensaje "no podemos mostrar la imagen".
Efectivamente, el problema es que cuando recuperas el enlace que permite el acceso a la firma, la dirección de la imagen es solo relativa y por lo tanto no permite su visualización. Necesitas utilizar una función de este tipo, que convierta la dirección relativa de la imagen en una dirección absoluta:
Function Signature(nom_signature As String, Optional nom_compte As String) As String Dim FSO As Object, TextStream As Object Dim nom_fichier As String, id_signature As String, id_signature_Pct20 As String On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") If nom_compte <> Empty Then id_signature = nom_signature & " (" & nom_compte & ")" _ Else id_signature = nom_signature nom_fichier = Environ("APPDATA") & "\Microsoft\Signatures\" & id_signature & ".htm" Set TextStream = FSO.OpenTextFile(nom_fichier) If Err.Num = 0 Then Signature = TextStream.ReadAll id_signature_Pct20 = Replace(id_signature, " ", "%20") Signature = Replace(Signature, id_signature_Pct20, id_signature) 'reemplazo dirección relativa imágenes por dirección absoluta Signature = Replace(Signature, id_signature & "_fichiers/", Environ("APPDATA") & "\Microsoft\Signatures\" & id_signature & "_fichiers/") End If End Function
-
Hola,
Gracias por su respuesta.
¿Es necesario que las firmas estén en la carpeta Environ("APPDATA") & "\Microsoft\Signatures\"? Si es así, esto es lo que me da mi ordenador: "C:\Users\Ordi1\AppData\Roaming". Si no, esto querría decir que las firmas pueden estar en cualquier carpeta, lo cual me vendría bien...
No entiendo "mi cuenta". ¿Se refiere a la dirección de correo electrónico o a una contraseña?
Gracias de antemano por sus aclaraciones.
-
Hola,
Le aconsejo mostrar el contenido del directorio:
C:\Users\Ordi1\AppData\Roaming\Microsoft\Signatures
para ver cómo están almacenadas sus firmas: <nombre_firma>.htm. Pueden estar asociadas o no con la cuenta de correo.
-
La carpeta C:\Users\Ordi1\AppData\Roaming\Microsoft\Signatures está vacía.
Hasta ahora, mis firmas están almacenadas en una carpeta que creé, en formato htm.
¿Debo obligatoriamente usar Environ("APPDATA") o puedo mantener mis firmas en mi carpeta actual?
-
He probado y funciona muy bien. Genial. Muchas gracias.
He mantenido mis firmas en su carpeta actual, pero las guardo en formato "página web, filtrada".
Ahora tengo bastante trabajo para actualizar mi VBA.
Que tengas un buen día,
Tony