Cómo crear emails con un asunto predeterminado en Outlook
Autor Marta
20.04.2007
En algunas ocasiones enviamos correos en diferentes períodos con un mismo asunto o, por razones de nuestro trabajo, manejamos un número de "asuntos" reducido. En estos casos sería útil contar con esos asuntos predeterminados y simplemente poder seleccionar el asunto y darle al botón mensaje nuevo y que se nos abriese un nuevo mensaje con el asunto ya rellenado. Si este es tu caso sigue leyendo que vamos a ver una posible solución para ello.
Lo que vamos a hacer es agregar un cuadro combinado y un botón en la barra principal de Outlook, justo al lado del botón Nuevo. Para ello seguiremos estos pasos:
Abrimos Microsoft Office Outlook y pulsamos Alt+F11. Con esto se nos abre el editor de Visual Basic de Outlook. En el explorador de proyectos expandiremos Proyecto1 y luego la carpeta Microsoft Office Outlook. Aparece un elemento llamado ThisOutlook.Session. Si hacemos doble clic sobre él se nos abre una ventana en blanco a la derecha. Es ahí donde colocaremos el código que necesitamos.
El código es el siguiente:
Dim WithEvents myControl As CommandBarButton
Private Sub Application_Startup()
Dim oExp As
Outlook.Explorer
Dim oBar As
Office.CommandBar
Dim myControl As
CommandBarComboBox
Dim myControlb As
CommandBarButton
Set oExp =
Outlook.ActiveExplorer
Set oBar =
oExp.CommandBars.Item("Standard")
'Comprobamos si
existen los botones
Set myControl =
oBar.FindControl(msoControlComboBox, 1)
Set myControlb =
oBar.FindControl(, 1, "Enviar")
' Si no existen los
creamos
If myControl Is
Nothing Then
'Este crea el
combobox. Donde pone AddItem añade tus asuntos
Set myControl
= oBar.Controls.Add(Type:=msoControlComboBox, ID:=1, Before:=2)
With
myControl
.AddItem "First Item", 1
.AddItem "Second Item", 2
.DropDownLines = 3
.DropDownWidth = 75
.ListHeaderCount = 0
End With
'Este crea el
botón de enviar mensaje
Set myControlb
= oBar.Controls.Add(, 1, , 3)
With
myControlb
.Caption =
"Enviar mensaje"
.FaceId =
1757
.Style =
msoButtonIconAndCaption
.Visible =
True
.Tag =
"Enviar"
.Enabled =
True
.OnAction
= "Enviar"
End With
End If
End Sub
Una vez hecho esto, la próxima vez que abramos Outlook nos creará los botones. Pero, hay un problemilla (no podía ser tan fácil). No sale un aviso de macros cada vez que abrimos Outlook a no ser que pongamos la seguridad de macros a nivel bajo y eso no nos interesa. Para evitarlo tenemos que firmar nuestra macro. Para hacerlo de una forma sencilla buscamos en la carpeta de instalación de Office un archivo que se llama Selfcert.exe. Lo ejecutamos y nos creará un certificado. Con el certificado ya creado vamos de nuevo al editor de Visual Basic y allí vamos al menú Herramientas y luego a Firma Digital. Añadimos nuestro certificado y listo.En el botón de enviar el mensaje que hemos creado hay una acción que se ejecutará al pulsarlo. Esa acción será la que nos cree el correo con el asunto predeterminado y nos lo muestre. Por lo tanto tenemos que crear dicha acción y lo haremos mediante una macro.
Bien, seguimos dentro del editor de Visual Basic y nos vamos al menú Insertar y allí elegimos la opción Módulo. Nos crea una nueva carpeta debajo de Proyecto1 llamada Módulo1 (qué original). Ahí pegamos el siguiente código:
Sub Enviar()
Dim oExp As Outlook.Explorer
Dim oBar As Office.CommandBar
Dim myControl As CommandBarComboBox
Dim myControlb As CommandBarButton
Set oExp = Outlook.ActiveExplorer
Set oBar = oExp.CommandBars.Item("Standard")
Set myControl = oBar.Controls.Item(2)
Set myControlb = oBar.Controls.Item(3)
'Si no se ha elegido ningún asunto no se realiza ninguna acción
If myControl.Text = "" Then
MsgBox "Elige un asunto primero"
Exit Sub
Else
Dim myOlApp As Outlook.Application
Dim myItem As Outlook.MailItem
Dim myRecipient As Outlook.Recipient
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
myItem.Subject = myControl.Text
myItem.Display
End If
End Sub
Y esto es todo. Guardamos, cerramos Outlook, lo abrimos, aceptamos el mensaje de las macros y marcamos la casilla confiar en la fuente y debería funcionar.Parte del código de este texto está sacado de este artículo de la KB de Microsoft: Bueno, eso es todo, hasta otra.
Filtro
No comments...
Escribir un comentario
Por favor, mantenga el asunto de los mensajes relevantes al tema del artículo.
Los ataques verbales personales serán eliminados.
Por favor, no emplee comentarios para promocionar su sitio web. Este tipo de mensajes serán eliminados