Невозможно дать однозначный ответ на ваш вопрос, потому что он слишком расплывчатый, но его можно начать.
Посмотрите на мой ответ: https://stackoverflow.com/a/12146315/973283.Вопрос не актуален, кроме того, что ОП не понял, что показ скриншотов мало что нам рассказал о том, как тело выглядело для макроса VBA.Ответ включает в себя макрос, который копирует выбранные свойства из каждого электронного письма в папке «Входящие» на лист Excel.Это позволит вам увидеть, как тело письма выглядит как макрос VBA.
Как вы будете идентифицировать письма, из которых вы хотите извлечь данные?Два простых варианта:
- Просмотрите каждое электронное письмо в папке и определите интересное, изучив тему, отправителя или другое свойство.
- Выберите интересные электронные письма и запуститемакрос, который использует ActiveExplorer для доступа к выбранным электронным письмам.
Ответ, указанный выше, демонстрирует метод 1. Существует множество ответов, демонстрирующих метод 2, но я могу добавить пример макроса, если необходимо.
Письмо обычно имеет текст Html итекстовое телоЕсли электронное письмо имеет текст Html, то оно отображается для пользователя.Макрос может получить доступ к одному или обоим.Ваш снимок экрана выглядит как текстовое тело, хотя внешний вид может быть обманчивым.Если это текстовое тело, электронное письмо не имеет Html-тела.
Если это текстовое тело, компоновка тела, вероятно, выглядит примерно так:
Hello,{cr}{lf}
Please supplement budget{cr}{lf}
WBS{tab}{tab}{tab}{tab}{tab}Amt{cr}{lf}
N.10002077.001{tab}{tab}1{cr}{lf}
Это предполагает, отправитель использовал переменные номера вкладок для выравнивания столбцов.
Вы можете использовать Split
на vbCr & vbLf
, чтобы преобразовать тело строки в массив строк с одной строкой на элемент массива.Сбросьте строки вплоть до строки, начинающейся с «WBS», затем обработайте каждую строку до любой подписи.Split
каждую строку на vbTab
и ожидайте найти две записи со значениями, оставляя пустым.
Посмотрите, как далеко вы можете продвинуться с помощью приведенных выше советов, затем уточните свой ответ, если вам нужна дополнительная информация.