Я пытаюсь извлечь адреса электронной почты из текстовых строк в Google Docs / Excel и автоматически отправлять их по электронной почте, где содержимое ячеек в настоящее время неизвестно (пока пользователь не обновит их).
Например, они могут читать:
Привет,
Мой друг example@example.com.
Спасибо,
Пример Джо
ИЛИ
Вы должны спросить
example@example.co.uk
В настоящее время я получил эту формулу:
=IFERROR((LEFT(CELL,FIND("@",CELL)-1))&"@"&(regexextract(CELL,"@(.*)")))
Работает практически во всех случаях, кроме
а) как в примере 1, где кто-то ставит, или. в конце письма
б) как в примере 2, когда электронное письмо начинается с новой строки, оно приходит, например, как.
спросить
example@example.com
Как я могу адаптировать формулу, чтобы исправить это?
{2, 4}
может быть ограничением, потому что многие будущие TLD, такие как,.codes
превышают 4 символа.Это для Excel.
Рассмотрим следующую пользовательскую функцию (UDF):
Пользовательские функции (UDF) очень просты в установке и использовании:
Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить UDF:
Чтобы использовать UDF из Excel:
Чтобы узнать больше о макросах в целом, смотрите:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
а также
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
а подробности о UDF смотрите в:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Макросы должны быть включены, чтобы это работало!
Вот некоторые примеры:
источник