Insertar un enlace hipertexto en un correo enviado por VBA
creator3_1969
Mensajes publicados
13
Fecha de registro
Estado
Miembro
Última intervención
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
Bonjour,
He hecho varias investigaciones y muchos intentos, pero lamentablemente no puedo insertar un hipervínculo en el cuerpo de mi correo electrónico que se enviará automáticamente.
He tenido o bien la ruta de acceso que se coloca, o bien el nombre, pero nunca la ruta o el nombre, o la ruta y el nombre pero no en enlace.
Estoy seguro de que es una "tontería", pero estoy atascado....
¿Puede ayudarme?
Muchas gracias
He hecho varias investigaciones y muchos intentos, pero lamentablemente no puedo insertar un hipervínculo en el cuerpo de mi correo electrónico que se enviará automáticamente.
He tenido o bien la ruta de acceso que se coloca, o bien el nombre, pero nunca la ruta o el nombre, o la ruta y el nombre pero no en enlace.
Estoy seguro de que es una "tontería", pero estoy atascado....
¿Puede ayudarme?
Muchas gracias
Sub SendMailhyperlink() Dim lien As String Dim csPath1 As String Dim Myname As String Dim MonOutlook As Object Dim MonMessage As Object csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\" Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy") lien = csPath1 & Myname Set MonOutlook = CreateObject("Outlook.Application") Set MonMessage = MonOutlook.CreateItem(0) MonMessage.BodyFormat = 2 corps = "<HTML><BODY>" MonMessage.To = "xxx@xxx.com" MonMessage.cc = "" MonMessage.Subject = "Annexe facture" corps = corps & "Bonjour," corps = corps & "<p>" corps = corps & "<p> A continuación el enlace a la anexión que se ha creado: "".</p>" corps = corps & "<a href=lien>lien</a></p>" corps = corps & "</BODY></HTML>" MonMessage.HTMLBody = corps MonMessage.display "true" End Sub<code basic></code>
Enlaces relacionados:
- vba excel: insertar una imagen en un userform
- VBA excel copiar celda con hipervínculo
- insertar una imagen en un userform con la opción examinar
- Copiar una celda con hipervínculo
- Fórmula de Excel para crear un hipervínculo mediante concatenación: `=HYPERLINK(CONCATENATE("http://www.ejemplo.com/", A1), "Texto del enlace")`
- abrir un archivo de formato mpp mediante VBA
5 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
Hola, me parece que no estás utilizando la variable enlace.
¿Has examinado el contenido de la variable cuerpo? -
Bonjour,
gracias por la respuesta.
He modificado el código para que el cuerpo del mensaje muestre el archivo creado, pero no hay manera de hacer que la palabra "lien" sea un enlace que refleje el archivo indicado por csPath1 & Myname.
Gracias
Laurent
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> A continuación el enlace hacia el anexo que ha sido creado: "".</p>"
corps = corps & csPath1
corps = corps & Myname
lien = csPath1 & Myname
corps = corps & "<a href=""" & lien & "">lien</a></p>"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.display "true"
End Sub-
¿Puedes usar las etiquetas de código cuando compartes código: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
¿qué recibes como texto en el correo?
Te sugiero que comiences con programas VBA más simples.
-
-
Lo siento, estaba convencido de haber utilizado la pestaña de código….
A continuación se muestra lo que aparece:
Hola,
A continuación el enlace a la anexión que ha sido creada: ".
P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\ANNEXE_BPOST_MINI_PACK_SCAN_195103931_12_2019lienSub SendMailhyperlink() Dim lien As String Dim csPath1 As String Dim Myname As String Dim MonOutlook As Object Dim MonMessage As Object csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\" Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy") lien = csPath1 & Myname Set MonOutlook = CreateObject("Outlook.Application") Set MonMessage = MonOutlook.CreateItem(0) MonMessage.BodyFormat = 2 corps = "<HTML><BODY>" MonMessage.To = "xxx@xxx.com" MonMessage.cc = "" MonMessage.Subject = "Anexo factura" corps = corps & "Hola," corps = corps & "<p>" corps = corps & "<p> A continuación el enlace a la anexión que ha sido creada: "".</p>" corps = corps & csPath1 corps = corps & Myname lien = csPath1 & Myname corps = corps & "<a href=""csPath1 & Myname"">enlace</a></p>" corps = corps & "</BODY></HTML>" MonMessage.HTMLBody = corps MonMessage.display "true" End Sub-
¿Y cuando haces clic en el enlace, qué ves?
Para ayudarte a entender lo que estás haciendo, sugiero reemplazarcuerpo = cuerpo & "<a href=""csPath1 & Myname"">enlace</a></p>"
pordim url as string url= "<a href=""csPath1 & Myname"">enlace</a>" cuerpo = cuerpo & url & "</p>" msgbox url
¿qué ves cuando ejecutas esto?
-
-
Buenas noches,
Esto es lo que aparece cuando he reemplazado la parte del código.
Sub SendMailhyperlink() Dim lien As String Dim csPath1 As String Dim Myname As String Dim MonOutlook As Object Dim MonMessage As Object Dim url As String csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\" Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy") 'lien = csPath1 & Myname Set MonOutlook = CreateObject("Outlook.Application") Set MonMessage = MonOutlook.CreateItem(0) MonMessage.BodyFormat = 2 corps = "<HTML><BODY>" MonMessage.To = "xxx@xxx.com" MonMessage.cc = "" MonMessage.Subject = "Annexe facture" corps = corps & "Bonjour," corps = corps & "<p>" corps = corps & "<p> A continuación el enlace hacia el anexo que ha sido creado: "".</p>" corps = corps & csPath1 corps = corps & Myname 'lien = csPath1 & Myname 'corps = corps & "<a href= lien & csPath1>""haz clic aquí""</a></p>" url = "<a href=""csPath1 & Myname"">lien</a>" corps = corps & url & "</p>" corps = corps & "</BODY></HTML>" MsgBox url MonMessage.HTMLBody = corps MonMessage.Display "true" End Sub -
Buenas noches,
Finalmente he encontrado la manera para que todo funcione :-)
Aquí tienes lo que da antes de que termine de modificar el código para que el correo se envíe automáticamente.
A continuación el código, podría ser útil.
¡Gracias por tu ayuda!
Laurent
Sub SendMailhyperlink() Dim lien As String Dim csPath1 As String Dim Myname As String Dim MonOutlook As Object Dim MonMessage As Object Dim url As String csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\" Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") & ".xlsm" ' & "_" & Format(Date, "mmmm_yyyy") Set MonOutlook = CreateObject("Outlook.Application") Set MonMessage = MonOutlook.CreateItem(0) MonMessage.BodyFormat = 2 corps = "<HTML><BODY>" MonMessage.To = "xxx@xxx.com" MonMessage.Subject = "Annexe facture " & Myname corps = corps & "Bonjour," corps = corps & "<p>" corps = corps & "L'annexe ci-apr?s a ?t? cr?? : " & Myname corps = corps & "<p>" corps = corps & "Ci-dessous vous trouverez le lien pour y avoir directement acc?s." corps = corps & "<p>" lien = csPath1 & Myname corps = corps & "<p>" corps = corps & "<b><A HREF=""" & lien & """> lien </A></b>" corps = corps & "<p>" corps = corps & "Le fichier s'ouvrira sur votre page Annexe Finance." corps = corps & "<p>" corps = corps & "Bien ? vous," corps = corps & "<p>" corps = corps & "Laurent," corps = corps & "</BODY></HTML>" MonMessage.HTMLBody = corps MonMessage.Display "true"