Есть ли способ извлечь указанные c слова из тела письма из Outlook, чтобы ввести в определенные c ячейки в Excel? - PullRequest
0 голосов
/ 29 марта 2020

Хотелось бы узнать, есть ли способ извлечь это письмо с темой письма : Mani In c. / ACF-SAFE / ABC123-563 / Представление документа / MFR ABC1235 Последующая работа № 1 / Срок исполнения: 10 марта 2020 года с электронной почтой : Email body в этом Шаблон Excel ниже? Fields to enter in Excel 1-я строка предназначена для Тема письма : Mani In c. / ACF-SAFE / ABC123-563 / Представление документа / MFR ABC1235 Продолжение № 1 / Срок исполнения: 10 марта 2020 г., в то время как 2-я строка информация предназначена для Тема письма : Mani In c. / ACF-SAFE / ABC123-563 / Документ представления / MFR ABC1235 Первоначальный / Дата исполнения: 10 марта-2020

В настоящее время я могу думать только о том, чтобы использовать VBA для извлечения тему электронной почты и тело письма в Excel, а затем использовать формулы для извлечения указанной информации c в шаблон Excel? Есть ли более простой способ?

Спасибо за любую помощь заранее!

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

У вас есть две отдельные проблемы: (1) как извлечь нужные данные из электронного письма и (2) как сохранить эти данные в рабочем листе Excel в требуемом формате. Бесполезно беспокоиться о проблеме 2, пока вы не решите проблему 1.

Письмо может иметь три тела: текстовое тело, тело Html и тело RTF. Я никогда не видел тела в формате Rich Text Format, поэтому маловероятно, что у вас есть один из них.

Если отправитель включает только текстовое тело, это то, что вы увидите. Ваше изображение показывает таблицу, которую вы можете иметь только с телом Html. Если отправитель включает и текст, и тело Html, вы видите тело Html, но текстовое тело доступно для макроса VBA. В 99,9% писем, которые я исследовал, отправитель включал только тело Html. В таких случаях Outlook создает текстовое тело, удаляя все форматирование Html и заменяя основные конечные теги одним или двумя CRLF.

Таким образом, у вас есть два варианта: (1) извлечь нужные данные из тело Html или (2) извлечение данных из тела текста.

Преимущество попытки извлечь из тела Html состоит в том, что оно будет содержать что-то вроде:

<p>Dear Colleagues</p>
<p>Kindly find attach a document for review</p>
<table xxxxxxxx>
  <tr xxxxxx>
    <td xxxxxxx>MFR#</td> 
    <td xxxxxxx>Report Date</td> 
    <td xxxxxxx>Due Date</td> 
    <td xxxxxxx>Protocol#</td> 
    <td xxxxxxx>Comment</td> 
  </tr>
  <tr xxxxxx>
    <td xxxxxxx>ABC1235</td> 
    <td xxxxxxx>01-Mar2020</td> 
    <td xxxxxxx>10-Mar-2020</td> 
    <td xxxxxxx>ABC123-45</td> 
    <td xxxxxxx>&nbsp;</td> 
  </tr>
</table>
<table xxxxxxxx>
  <tr xxxxxx>
    <td xxxxxxx>Time</td> 
    <td xxxxxxx>SCDAD</td> 
    <td xxxxxxx>SAFETY\180 Submission</td> 
  </tr>
</table>

То есть все данные, которые вам требуются, разделены

и . Первый недостаток - все x, которые представляют инструкции форматирования. Второй возможный недостаток: отправитель может включать CSS (каскадные таблицы стилей), поэтому таблица будет отображаться в одном направлении на P C, а в смартфоне - в другом. В этом случае Html может быть намного сложнее, чем я показал.

Тело текста, вероятно, будет выглядеть так:

Dear ColleaguesCRLFCRLF
Kindly find attach a document for reviewCRLFCRLF
MFR#CRLFCRLF
Report DateCRLFCRLF 
Due DateCRLFCRLF
Protocol#CRLFCRLF
CommentCRLFCRLF
ABC1235CRLFCRLF
01-Mar2020CRLFCRLF 
10-Mar-2020CRLFCRLF
ABC123-45CRLFCRLF
 CRLFCRLF
TimeCRLFCRLF 
SCDADCRLFCRLF 
SAFETY\180 SubmissionCRLFCRLF

С телом текста все форматирование удалено за вас, но нет ничего, что указывало бы на то, где таблицы, строки и ячейки начинаются и находятся наверху.

Только взглянув на Html и текстовые тела, вы можете решить, что будет легче обрабатывать.

Пожалуйста, посмотрите на мой ответ: { ссылка }.

Этот ответ включает макрос Outlook, который выводит выбранные свойства выбранных писем в Immediate Window или выводит много свойства выбранных писем в файл рабочего стола. Вам нужен второй вариант, поскольку он включает в себя как текст, так и тела Html. Вы можете просмотреть два тела и решить, что выглядит проще в обработке. Кроме того, вы можете включить соответствующие части тела в свой вопрос, и кто-то может порекомендовать подход.

0 голосов
/ 29 марта 2020

VBA может перехватить данные электронной почты в Outlook. Разобрать в нем данные и поместить их в шаблон.

VBA в Excel также может пересылать шаблон по электронной почте на следующую точку цепочки процессов.

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

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