Я застрял на немного кода. У меня есть форма, когда я нажимаю кнопку, она отправляет все выбранные записи в тело электронной почты с получателями электронной почты, которые перечислены в этих записях.Удаление дубликатов в строке электронной почты
Часть, которые добавляют это электронная почта к мировоззрению «To» раздел следующим образом:
With rst
Do While Not .EOF
strTO = strTO & ![EmailAddress] & ";"
.MoveNext
Loop
End With
olItem.Display
olItem.To = strTO
Как вы можете видеть, формируете код, он принимает строку strTO
и добавляет значение из [EmailAddress]
на записи , а также ;
, чем переход к следующей записи в цикле. Мой вопрос в том, есть ли способ создать глобальную функцию, которую вы могли бы вызвать непосредственно перед тем, как сделать часть кода olItem.To = strTO
, которая по существу очистит строку, удалив любые дубликаты?
изменить: выяснили, что я могу правильно разместить свой ответ, а не редактировать свой вопрос.
Лучше всего создать набор записей, который не включает дубликаты. Проверьте SELECT DISTINCT. Если это не подходит, посмотрите на VBA InStr, который позволит вам проверить перед добавлением адреса. – Fionnuala
Спасибо за комментарий, к сожалению, не будет работать, так как мне нужно увидеть несколько строк для них, но мне не нужно добавлять дополнительный дублирующий адрес электронной почты в панель «Кому». Я изучаю код, который я нашел в Интернете под названием RemoveDupWords2 , который, кажется, делает то, что я хочу, за исключением случаев, когда я перехожу к вызову функции, которую я набираю, вызывает RemoveDupWords2 (strTO) Я получаю ошибку несоответствия во время ошибки ByRef. Поэтому я сейчас изучаю это. – vladyerus
Просто используйте InStr, как я уже упоминал, он может обернуть вокруг вас текущий код и быстро и просто. – Fionnuala