Bienvenido a la mayor comunidad de usuarios EXCEL

Regístrate ahora y podrás: / 💪 Hacer preguntas a los expertos / ⬇️ Descargar ejemplos y plantillas / 🏅 Acceder a contenidos premium

Regístrate gratis

Macro para abrir Plantilla de Outlook desde Excel

Manuel111

New member
Hola, buenos días

De antemano quiero agradecer el apoyo. Deseo que con un botón con una Macro, poder abrir determinada plantilla de correo Outlook, para personalizarla un poco y después poder enviar el correo.

Ya he insertado el objeto "plantilla de correo" en el Excel, porque no encuentro la forma de automatizarlo un poco. Ya la hora de crear el boton y hacer la Macro, me sale un error.

Este es el código de la Macro:

'crear aplicacion Outlook
Dim oApp As Outlook.Application
Set oApp = New Outlook.Application <----Aquí es donde se presenta el error: "Error de compilación: El procedimiento externo no es válido
' Crear un nuevo elemento de correo.
Dim oMsg As Outlook.MailItem
Set oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem)
oMsg.Subject = " "
oMsg.Body = "" & vbCr & vbCr
oMsg.To = ""
'mostrar mail
oMsg.Display
'descargar variables
oApp = Nothing
oMsg = Nothing

Lo que quiero lograr es crear varias plantillas y de acuerdo al tipo de correo, abrir rápidamente la que aplique.

Saludos.
 

Manuel111

New member
hola Hector,

Muchas gracias por tu respuesta. Aplicandolo supongo que va así:

Sub CreateFromTemplate2()
Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem
Set myOlApp = CreateObject("Outlook.Application")
Set MyItem = myOlApp.CreateItemFromTemplate("C:\Users\xxxx\Documents\Correos_Apertura\Activa xxxxxxxxxxxx.oft", _
myOlApp.Session.GetDefaultFolder("C:\Users\xxxxx\Documents\Correos_Apertura")
MyItem.Open
End Sub

¿es correcto? Al parecer cuando la guardo no me deja continuar.

De antemano gracias.
Saludos.
 

Karo

New member
Hola, llegué acá porque el asunto dice "Plantillas de Outlook", pudiste resolverlo? yo tengo una duda respecto de una macro para abrir plantillas, específicamente archivos .oft y quizás esa solución me pueda orientar.

Explico mi problema, tengo 11 plantillas de correo, guardadas en la carpeta que Windows define como predeterminada para este tipo de archivos C:\Users\xxx\AppData\Roaming\Microsoft\Templates. En excel, tengo 11 botones asociados cada macro, por ejemplo, botón dice "Abrir correo tipo 1", otro botón que dice "Abrir correo tipo 2", y así sucesivamente. No me sirve un selector de archivo porque eso me demora y debo enviar muuuchos correos, quiero abrir el "correo tipo" que seleccioné con mi botón.

Todos los ejemplos que he visto, son para diseñar un mail, pero yo ya tengo el cuerpo del mensaje y quiero abrirlo. (No necesito que se completen los campos "to", "cc" ni nada, eso lo tengo en la plantilla). Probé también con una macro que abre "archivos" (cualesquiera sea la extensión) y me funcionó, el problema viene después cuando quiero compartir el excel y por supuesto la ruta en la que están las plantillas, cambia en cada computador (sí, envié a todos los usuarios las plantillas y las tienen guardadas en la misma carpeta que señalé arriba, solo que con el "nombre usuario" que corresponde).

Para cambiar la ruta del archivo intenté concatenar la ruta, tipo: C:\Users\ & Environ("UserName") & \AppData\Roaming\Microsoft\Templates ...quizás eso fue una aberración.

Resumiendo, necesito una macro que abra un archivo definido tipo .oft con ruta "cambiante".
Favor su ayuda, espero haberme explicado bien.
 

Héctor Miguel

Well-known member
Para cambiar la ruta del archivo intenté concatenar... C:\Users\ & Environ("UserName") & \AppData\Roaming\Microsoft\Templates ... quizás eso fue una aberración.
para obtener la ruta de las plantillas del usuario en turno, prueba:
Código:
  ruta = CreateObject("wscript.shell").SpecialFolders("templates")

ya solo le agregas el separador de rutas ( "\" ) y el nombre de la plantilla
 

Temas similares

Arriba