複数のリストボックス値を1つの変数に割り当て、電子メールで "to"フィールドに入れる方法

StackOverflow https://stackoverflow.com//questions/25060470

質問

2つのリストボックスで複数の値を選択して、2つの別々の変数に割り当てることができるようにしています。次に、選択内容を含む変数を持ち、Outlook Eメールの「TO」フィールドに入力してEメールを生成したいです。今すぐ実行時エラー94 - NULLの使用を無効にしています。

あなたのすべての助けをありがとう!

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
.

役に立ちましたか?

解決

リストボックスに有効な電子メールアドレスが含まれていることをASUMENT、

に提案します。

  • ListBox1.MultiSelect = fmMultiSelectMulti
  • を定義します
  • Ctrlキーを押しながら複数のメールアドレスを選択します。
  • 選択したすべてのアドレスをリストボックスから1つのシングル文字列、例えば1つの文字列に連結します。

_

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
.

  • 2番目のリストボックスの繰り返し...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top