MS Access | Как получить контент из тела письма в таблицу? - PullRequest
0 голосов
/ 15 сентября 2018

Я работаю над проектом, в котором мне нужно получить ms access таблицу / данные из почтового тела и выполнить некоторую команду в SAP.Я могу управлять частью SAP, но проблема в том, как получить информацию из почтового тела.Я попытался связать свой почтовый ящик в доступе, но он показывает мне весь текст письма, но мне нужно только определенное содержимое.пример

Hello,
Please supplement budget 
WBS                      Amt
N.10002077.001           1

сверху, что мне нужно, это просто "N.10002077.001" и "1", но как получить эту информацию только в таблице, вопрос?

Далее, что яв мою почту попадет таблица с 2 столбцами, но access импортирует ее как простой текст.

enter image description here

1 Ответ

0 голосов
/ 15 сентября 2018

Невозможно дать однозначный ответ на ваш вопрос, потому что он слишком расплывчатый, но его можно начать.

Посмотрите на мой ответ: https://stackoverflow.com/a/12146315/973283.Вопрос не актуален, кроме того, что ОП не понял, что показ скриншотов мало что нам рассказал о том, как тело выглядело для макроса VBA.Ответ включает в себя макрос, который копирует выбранные свойства из каждого электронного письма в папке «Входящие» на лист Excel.Это позволит вам увидеть, как тело письма выглядит как макрос VBA.

Как вы будете идентифицировать письма, из которых вы хотите извлечь данные?Два простых варианта:

  1. Просмотрите каждое электронное письмо в папке и определите интересное, изучив тему, отправителя или другое свойство.
  2. Выберите интересные электронные письма и запуститемакрос, который использует 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 и ожидайте найти две записи со значениями, оставляя пустым.

Посмотрите, как далеко вы можете продвинуться с помощью приведенных выше советов, затем уточните свой ответ, если вам нужна дополнительная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...