Проверка электронной почты Для значения поля в VBA

Я хочу проверить значения, отправленные в электронную почту Outlook в VBA

. Я нашел несколько примеров, таких как: -

http://www.geeksengine.com/ article / validate-email-vba.html

Используя код с сайта выше, возвращается адрес электронной почты 1@1.com True или действительный. Однако 1@1.com; 2@1.com возвращается как недействительный. Хотя это недействительный адрес электронной почты, это допустимое значение для поля To в Outlook.

Можно ли проверить значение, например 1@1.com; 2@1.com, используя VBA?

4
задан 13 August 2018 в 13:29

2 ответа

Используйте функцию Split(), чтобы разделить строку на отдельные адреса и проверить их в цикле с помощью вашей функции.

Если все адреса действительны, исходная строка действительна.

Приятная вещь: вам не нужны отдельные случаи. Один адрес без ; вернет один элемент массива из Split(), и цикл будет просто запускаться один раз.

2
ответ дан 15 August 2018 в 17:05

Чтобы проверить несколько идентификаторов электронной почты, используя функцию regex ниже:

Public Function ValidateEmailAddress(ByVal strEmailAddress As String) As Boolean
    On Error GoTo Catch

    Dim objRegExp As New RegExp
    Dim blnIsValidEmail As Boolean

    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    objRegExp.Pattern = "^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[;]{0,1}\s*)+$"

    blnIsValidEmail = objRegExp.test(strEmailAddress)
    ValidateEmailAddress = blnIsValidEmail

    Exit Function

Catch:
    ValidateEmailAddress = False
    MsgBox "Module: " & MODULE_NAME & " - ValidateEmailAddress function" & vbCrLf & vbCrLf _
        & "Error#:  " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function
2
ответ дан 15 August 2018 в 17:05
  • 1
    Обратите внимание, что ваш ответ не подходит как к примеру 1, так и к 3 из трудных для проверки To строк, указанных в моем ответе. Это намного более строгий, чем Outlook. – Erik von Asmuth 13 August 2018 в 14:04
  • 2
    @ErikvonAsmuth Вы правы, я просто подтвердил с возможными значениями, предоставленными OP. – Santosh 13 August 2018 в 14:08

Другие вопросы по тегам:

Похожие вопросы: