2014-01-30 4 views
0

Я хотел бы знать, как отделить адреса электронной почты в следующем коде:Разделительные адреса электронной почты

With OutApp.CreateItem(0) 
If cel.Value <> "" Then 
.To = cel.Value 
.CC = cel.Offset(0, 10).Value & cel.Offset(0, 11).Value 
.Body = strbody & vbNewLine & vbNewLine & Signature 

В поле CC, когда макрос запускается он заполнить поля, но как это: CC: будет @ me.comother @ mail.com, и это должно быть похоже на CC: [email protected]; [email protected]

Любые идеи о том, как это решить? Я уже пробовал: cel.Offset(0, 10).Value & ";" & cel.Offset(0, 11).Value но не повезло

+1

попробовать это 'cel.Offset (0, 10) .value & ";" и cel.Offset (0, 11) .Value' –

+0

Сформировать строку получателей адресов электронной почты и set .CC = получатели –

+0

@simoco Он не отделял адреса электронной почты – William

ответ

0

Это было зафиксировано, как этот cel.Offset(0, 10).Value & " ; " & cel.Offset(0, 11).Value и его работы в настоящее время

+0

Это похоже на неприятный прием! Вы считали, что принимаете этот ответ? – pnuts

+0

Нет gotcha ... Просто учись уделять внимание мелочам ... Спасибо ... – William

0

Рассмотрим что-то более динамичную:

join(worksheetfunction.Transpose(range("A1:A4")),";") 

Таким образом, вы можете программно изменить диапазон и его будет просто объединяться столько строк, сколько у вас есть. Выбранный метод означает, что в CC всегда должно быть 2 человека (и ТОЛЬКО 2 человека).

Диапазон («A1: A4») получает диапазон данных, Transpose заменяет его сверху вниз на сценарий слева направо (делает его массивом), функция Join объединяет все элементы массива с помощью прилагаемого разделителя (в данном случае ";")

Смежные вопросы