English (United Kingdom)

Fermu Website

Home Articles Office Office Cómo crear emails con un asunto predeterminado en Outlook
Cómo crear emails con un asunto predeterminado en Outlook PDF Print E-mail
User Rating: / 8
PoorBest 
Written by Marta   
Thursday, 19 April 2007 17:45
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.

Trackback(0)
Comentarios (5)Add Comment
Funciona
escrito por Rafael Londoño, September 26, 2008
Funciona perefectamente.....Muchas Gracias....
enviar abuso
vote negativo
vote positivo
Votos: +0
automatizar envio de correo en outlook
escrito por Invitado, February 27, 2008
viejo tengo una inquietud. tendrías el código para programar un envío periódico en el correo de outlook. es decir tengo un mensaje que lo envío dos veces a la semana, todas las semanas de los meses (es el mismo mensaje). como hago o cual seria el código para automatizar este envío. gracias, espero puedas ayudarme.
enviar abuso
vote negativo
vote positivo
Votos: +0
envio de correo desde vb
escrito por cristobal, June 04, 2007
ojala me puedas contestar este mensaje.

actualmente estoy desarrollando un modulo de una aplicacion en vb, esta aplicacion manda un numero N de direcciones de correo a Outlook.

lo que deseo es poder enviar un documento de word o una plantilla en el contenido del correo de outlook y no como adjunto.

saludos....
enviar abuso
vote negativo
vote positivo
Votos: +0
re: No funciona el sistema de
escrito por fermu, April 24, 2007
he votado bueno y votar y no sale el voto , Saludos Linda
[smiley=sad]


Linda funcionar, funciona pero no actualiza muy rapido, Ahora mismo ya tiene dos votos este articulo. [smiley=happy]
enviar abuso
vote negativo
vote positivo
Votos: +0
No funciona el sistema de voto
escrito por Linda, April 24, 2007
he votado bueno y votar y no sale el voto , Saludos Linda
[smiley=sad]
enviar abuso
vote negativo
vote positivo
Votos: +0

Escribir comentario
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
más pequeño | más grande

busy
Last Updated ( Saturday, 04 August 2007 16:45 )
 
Web www.fermu.com

Logon


Gente Online

We have 373 guests and 4 members online
Joomla Templates by JoomlaShack