Ashwini_K Ответов: 1

Как извлечь таблицу из почты outlook с помощью VB.NET


У меня есть требование извлечь таблицу, присутствующую в теле почты Outlook. Входным будет почтовое сообщение, а выходным-Datatable в UiPath

Что я уже пробовал:

Sub ImportTableToExcel()
Dim xMailItem As MailItem
Dim xTable As Word.Table
Dim xDoc As Word.Document
Dim xExcel As Excel.Application
Dim xWb As Workbook
Dim xWs As Worksheet
Dim I As Integer
Dim xRow As Integer
On Error Resume Next
Set xExcel = New Excel.Application
Set xWb = xExcel.Workbooks.Add
xExcel.Visible = True
Set xWs = xWb.Sheets(1)
xRow = 1
For Each xMailItem In Application.ActiveExplorer.Selection
    Set xDoc = xMailItem.GetInspector.WordEditor
    For I = 1 To xDoc.Tables.Count
        Set xTable = xDoc.Tables(I)
        xTable.Range.Copy
        xWs.Paste
        xRow = xRow + xTable.Rows.Count + 1
        xWs.Range("A" & CStr(xRow)).Select
    Next
Next
End Sub

MadMyche

Стол это своего рода двусмысленный термин; это HTML-форматированное электронное письмо с таблицей, определенной в HTML, или это встроенная электронная таблица XLS, или это таблица стиля "Word", написанная в ней?

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

1 Ответов

Рейтинг:
1

Maciej Los

Пожалуйста, сначала прочтите комментарий Мадмич к вашему вопросу.

Если сообщение электронной почты находится в формате RTF, вы можете извлечь таблицу с помощью кода с этого сайта: Как быстро экспортировать все таблицы из электронной почты Outlook в Книгу Excel с помощью VBA - Data Recovery Blog[^]
Если сообщение электронной почты находится в формате HTML, вы должны разобрать html-документ. Видеть: Синтаксический анализ HTML - таблицы в Excel - TIP, TRICKS & CODE - OzGrid Free Excel/VBA Help Forum[^]