¿Puedo crear una macro que ofrezca un menú desplegable para asuntos en Outlook 2010?

1

Necesito la línea de asunto en mis mensajes de Outlook para comenzar con el trabajo que concierne al mensaje. Como hay una docena de trabajos en curso en un momento determinado, es engorroso escribir el nombre del trabajo o copiar y pegar desde otro mensaje. He estado trabajando con una macro con un botón en el menú de Outlook que crea un nuevo mensaje, pero en este momento estoy atascado con un trabajo como tema y no he descubierto cómo darme un menú desplegable de Todos los posibles nombres de trabajo. Por lo tanto, cualquier ayuda sería muy apreciada.

Dave Hutchinson
fuente
Aquí está la macro que estoy usando actualmente. Podría crear una macro individual para cada uno de los trabajos, pero eso ocupa mucho espacio en la pantalla. Y sería más fácil actualizar los trabajos según sea necesario utilizando el menú desplegable. Sub AutoSubject () Establecer myFolder = Session.GetDefaultFolder (olFolderInbox) Establecer myItem = myFolder.Items.Add ("IPM.Note.mail") myItem.Display With myItem .Subject = "1209 NL Utilities" .Display End With End Sub
Dave Hutchinson
Creo que eso no es posible. También es imposible tener una función de autocompletar para la línea de asunto en Outlook.
amiregelz
La etiqueta de formulario html ... pero realmente no necesitarías Outlook en absoluto.
technosaurus

Respuestas:

1

Intenta algo como esto. Asegúrese de tener un elemento abierto cuando lo inicie.

http://www.vbaexpress.com/kb/getarticle.php?kb_id=369

http://www.vbaexpress.com/kb/getarticle.php?kb_id=303

'** The following code goes in a userform **

' Adapted for a single choice

Private Sub cmdOkay_Click()
Dim i As Long
Dim msg As String
Dim Check As String

Dim currItem As MailItem

'Generate a list of the selected items
With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            msg = .List(i)
            Exit For
        End If
    Next i
End With

If msg = vbNullString Then
    'If nothing was selected, tell user and let them try again
    MsgBox "Nothing was selected!  Please make a selection!"
    Exit Sub

Else

    Set currItem = Application.ActiveInspector.currentItem
    currItem.Subject = msg
    Unload Me

End If

End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()

With Me.ListBox1
     'Clear the rowsource in case it has been set
    .RowSource = ""
     'Add the items
    .AddItem ("Cat")
    .AddItem ("Dog")
    .AddItem ("Gerbil")
    .AddItem ("Lizard")
    .AddItem ("Rat")
    .AddItem ("Snake")
    .AddItem ("Turtle")
End With

End Sub


 '** The following code goes in a standard module **

Sub Launch()
'This code will launch the userform
    UserForm1.Show
End Sub
niton
fuente