Domanda

Sto cercando di essere in grado di selezionare più valori in due caselle di riepilogo e assegnare a due variabili separate.Voglio quindi prendere quelle variabili contenenti le selezioni e generare un'e-mail con i contenuti variabili che popolano il campo "a" in un'e-mail di Outlook.In questo momento sto ottenendo un errore di run-time 94 - uso non valido di null.

Grazie per tutto il tuo aiuto!

Dim EAddress, MAddress As String

Public Sub UserForm_Initialize()

Emailfrm.EmpEmaillb.RowSource = "Searched_Employee_Email"
Emailfrm.ManagerEmaillb.RowSource = "Searched_Manager_Email"

End Sub

Public Sub Email_Click()
Dim OLobjMsg, NewMsg As Object

    EAddress = Emailfrm.EmpEmaillb.Value
    MAddress = Emailfrm.ManagerEmaillb.Value

    Set objMsg = CreateObject("Outlook.Application")
    objMsg.Session.Logon
    Set NewMsg = objMsg.CreateItem(0)

    With NewMsg
        .To = EAddress & MAddress
        .Subject = "BT Employee Database Inquiry Email"
        '.Body = "Have a great weekend!"
    End With

    Unload Me

    NewMsg.Display
End Sub
.

È stato utile?

Soluzione

Asumazione che le tue caselle di riepilogo contengono indirizzi e-mail validi, propongo di

    .
  • Definisci ListBox1.MultiSelect = fmMultiSelectMulti
  • Selezionare più indirizzi di posta usando Ctrl-click
  • Concatena tutti gli indirizzi selezionati dalla casella di riepilogo in una singola stringa, ad esempio.

_

Private Sub CommandButton1_Click()
Dim LBCnt As Integer, AllAddr As String

    AllAddr = ""

    For LBCnt = 0 To ListBox1.ListCount - 1

        If ListBox1.Selected(LBCnt) Then
            If AllAddr = "" Then
                AllAddr = ListBox1.List(LBCnt)
            Else
                AllAddr = AllAddr & ";" & ListBox1.List(LBCnt)
            End If
        End If
    Next LBCnt
    Debug.Print AllAddr

End Sub
.

    .
  • Ripeti per la 2nd listbox ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top