Удалить текст и гиперссылки, затем переслать

РЕДАКТИРОВАТЬ: Добавлен фрагмент ближе к фактической строке, которой я пытаюсь манипулировать в нижней части поста. Это не дословно, удалена ключевая информация, но я скопировал и вставил из письма, которое я пытаюсь переслать. Просто пытаюсь извлечь стол в середине и вперед.

Я хочу удалить определенный текст в полученном электронном письме, удалить гиперссылки, сохранить форматирование и затем перейти на определенный адрес.

По сути, электронная почта структурирована так:

"Дорогой пользователь,

пожалуйста, найдите соответствующую информацию ниже

база данных: записи нажмите здесь, чтобы посмотреть это онлайн

  • Заголовок таблицы
  • Заголовок столбца
  • Запись 1
  • Запись 2
  • Запись 3
  • ...
  • Финальная запись

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

somewebsite.database.net/tr/vuioahdf

Это автоматическое письмо..."

Мне нужно удалить текст перед таблицей, удалить гиперссылки, сохранить форматирование и переслать.

Я попробовал следующее.

Sub RemoveExpression()

Dim Insp As Inspector
Dim obj As Object

    Set Insp = Application.ActiveInspector
    Set obj = Insp.CurrentItem

    obj.Body = Replace(obj.Body, "Dear user, please find the relevant information below database: records click here to view this online - Table header " & _
                                    vbNewLine & "If you have trouble using the link above, paste this link in your address bar to go to the online database http://somewhere.database.net/tr/vuioahdf This is an automated email...", "")

    Set obj = Nothing
    Set Insp = Nothing

End Sub

Это дает мне ошибку об отсутствии определения объекта, но это что-то вроде того, что я собираюсь сделать. Удалите текст до и после таблицы, удалите гиперссылки, а затем перешлите на определенный адрес. Возможно, нет необходимости полностью удалять гиперссылки, поскольку в основном это текст до и после таблицы, но в заголовке таблицы есть гиперссылка.

Email я пытаюсь манипулировать:

Dear User,<br>
<br>
Please find below drawing received last week for project
<br> <br>
<b><u></u>Document Control: Projects<u></u></b><br>
Click <a href="somehwere.net" target="_blank">here</a> to see this report on the database.
<br> <br>
<div style="font-size:70%;font-family:Verdana,Helvetica,Geneva,sans-serif">
<div>
<table width="100%" cellpadding="0" cellspacing="0">
<tr style="background-color:#c4defb">
<td style="border-top:1px solid #55a0ef;border-bottom:1px solid #55a0ef">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="width:200px;padding:4px 8px;font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;color:#505050;font-weight:normal;font-size:9pt">
<a style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;color:#505050;font-weight:normal;font-size:9pt;text-decoration:none" href="somewhere.net" title="See this report" target="_blank">Full Report</a>
| <a style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;color:#505050;font-weight:normal;font-size:9pt;text-decoration:none" href="somewhere.net" title="Edit all the Drawings shown below" target="_blank">Grid Edit</a>
</td>
<td style="width:200px;padding:4px 8px;font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;color:#505050;font-weight:normal;font-size:9pt" align="right">
<span><label>Date Created</label> is during <label> &#39;last 2 wk&#39; </label> AND ...</span>    <span>11 Drawings</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<thead style="display:table-header-group">
<tr>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"> </td>
<td align="right" style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><div></div><span>Date Created</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Project Name</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Sub Project</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Project Description</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Drawing Number</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Revision</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Title</span><span></span></td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#f6f9fd;padding:3px 4px;font-weight:bold;font-size:10pt;color:#111111"><span>Transmittal</span><span></span></td>
</tr>
</thead>
<tbody style="display:table-row-group">
<tr>
<td nowrap style="border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111"> </td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111" align="right">02-18-2016</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Rig xxx</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">120</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Structure</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">00813-121-000-001WM</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">0</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">REAR FRAME</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">02182016</td>
</tr>
<tr style="background-color:#f2f2f2">
<td nowrap style="border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111"> </td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111" align="right">02-18-2016</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Rig xxx</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">120</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Structure</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">00813-121-000-000</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">0</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">REAR ASSEMBLY</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">01282016</td>
</tr>
<tr>
<td nowrap style="border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111"> </td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111" align="right">02-18-2016</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Rig xxx</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">120</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">Structure</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">00813-121-000-001</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">0</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">REAR FRAME</td>
<td style="font-family:Helvetica Neue,Helvetica,Tahoma,Arial,sans-serif;border-left:1px solid #ccc;border-bottom:1px solid #ccc;padding:3px 4px;font-size:10pt;color:#111111">01282016</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</div>
</div>
<br>
If you have trouble using the link above, copy and paste the following Web address into the address bar of your browser:
<br>   <a href="somewhere.net" target="_blank">somewhere.net</a>
<br> <br>
This is an automated email from an online application. If you feel that you received this email in error, please contact the application's manager,
<a href="mailto:someone@projects.net" target="_blank">someone@projects.net</a>
</td></tr></table>
</div>
</font></div></table></table></div></div></body></html>

1 ответ

Body свойство MailItem что вы получили только для чтения. Вероятно, поэтому вы получаете ошибку. Вам нужно переслать сообщение, получить перенаправленное сообщение, а затем манипулировать им Body,

Если вы получили электронное письмо, в котором было много материала, включая одну таблицу, и вы хотели переслать только таблицу, вы можете использовать такой код

Public Sub ForwardTableOnly()

    Dim olMail As MailItem
    Dim lTblStart As Long, lTblEnd As Long

    Set olMail = ActiveInspector.currentItem.Forward

    lTblStart = InStr(1, olMail.HTMLBody, "<table")
    lTblEnd = InStr(lTblStart, olMail.HTMLBody, "</table")

    olMail.HTMLBody = Mid$(olMail.HTMLBody, lTblStart, lTblEnd - lTblStart + 1)
    olMail.Display

End Sub

Он находит, где находится таблица в HTMLBody имущество и избавляется от всего остального. Это работает, но это сложнее, чем это. Если вы хотите сохранить таблицу плюс некоторые другие вещи, у вас будут более сложные манипуляции со строками. И если форматирование важно для вас, у вас будет другая проблема. Вероятно, что таблица отформатирована со стилями, которые определены далее в HTMLBody вместе с кучей других стилей. Это еще больше манипуляции со строками. Но манипулирование струнами достаточно легко, если не утомительно и скучно.

Уместными точками являются: вызов метода Forward и присвоение результирующего MailItem переменной объекта. Затем установите этот объект HTMLBody собственность на все, что вы хотите. В этом примере я использую .Display свойство показывать сообщение. Вы хотите использовать .To а также .Send скорее, чем .Display,

Другие вопросы по тегам