Используя VBA форматируйте имя и фамилию в адрес электронной почты для Outlook - PullRequest
0 голосов
/ 01 мая 2019

У меня есть пользовательская форма с несколькими полями со списком, которая заполнена именами, которые считываются с листа в Excel. После того, как пользователь выбирает имя из каждого поля со списком и нажимает кнопку отправки, он открывает Outlook, чтобы отправить электронное письмо этим людям. Код работает нормально, но мне нужна помощь в переформатировании имен.

Как я могу переформатировать имя и фамилию в действительный адрес электронной почты? Имя и фамилия читаются из одной ячейки.

Пример: Джон Смит (что выбрано в поле со списком) преобразовать в -> john.smith@xzy.com

.To = comboA.Value & "," & _
(Это строка, которая работает с готовым именем, но не форматируется в электронное письмо)

Кроме того, если кто-то не выбирает имя из поля со списком, возможно ли игнорировать эту строку и не пытаться вводить что-либо в Outlook?

Dim WS As Worksheet
Dim LastRow As Long
Dim bColumn As Range
Dim cColumn As Range
Dim dColumn As Range
Dim eColumn As Range
Dim fColumn As Range
Dim gColumn As Range
Dim hColumn As Range
Dim iColumn As Range
Dim jColumn As Range
Dim kColumn As Range

Set WS = ActiveWorkbook.Worksheets("UserData")

With WS
    LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row

    For Each bColumn In .Range("B3:B" & LastRow)
        If bColumn.Value <> "" Then
            Me.comboA.AddItem bColumn.Value
        End If
    Next
End With

With WS
    LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row

    For Each cColumn In .Range("C3:C" & LastRow)
        If cColumn.Value <> "" Then
            Me.comboB.AddItem cColumn.Value
        End If
    Next
End With


Dim objOutlook As Object
Dim objEmail As Object

Set objOutlook = CreateObject("Outlook.Application")
objOutlook.Session.Logon
Set objEmail = objOutlook.CreateItem(0)
objEmail.Display
On Error Resume Next

With objEmail
    .To = comboA.Value & ", " & _
          comboB.Value & ", " & _
          comboC.Value & ", " & _
          comboD.Value & ", " & _
          comboE.Value & ", " & _
          comboF.Value & ", " & _
          comboG.Value
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...