VBA Outlook. Попытка извлечь конкретные данные из тела письма и экспортировать в Excel

Здесь я нашел немало руководств, которые привели меня туда, где я сейчас нахожусь, но мне нужна помощь, чтобы внести последние штрихи в мой код (я новичок в этом, так что терпите меня). Я пытаюсь использовать VBA в Outlook для экспорта данных из электронных писем, которые у меня есть в определенной папке моего Outlook, чтобы преуспеть. Мне нужно извлечь данные из множества сообщений по электронной почте в таблицу Excel. Шаблон электронной почты, из которого я извлекаю, можно найти ниже. Мне нужен 10-значный номер после справочного номера, 10-значный номер после серийного номера и 7-значный номер после описания проблемы. (Я выделил нужные мне части на случай, если неясно)

Уважаемый господин / госпожа хххххххх,

------------------ Не нужна информация -----------------

Ссылочный номер1234567890.

СТАТУС: ---- не нужна информация -----

Серийный номер:XXXXXXXXXX Описание проблемы:______________ (данные здесь могут незначительно отличаться, я только собираюсь вытащить 7-значное число из этой области, но если это невозможно, так тому и быть) _______

Использовать этот….

----------------- Остальное не нужно -----------------------

До сих пор мне удавалось создать скрипт, который будет просматривать папку Outlook, в которой я сейчас нахожусь, открывать лист Excel, называть заголовки в excel и импортировать данные. Однако он тянет все тело, а не только те сегменты, которые мне нужны, и помещает их в неправильные столбцы в Excel. Это, насколько я могу понять, к сожалению, так как я начинающий в этом. Мне удалось найти на этом сайте несколько примеров с похожей проблемой с решениями, но я не смог разобраться в них. Через много проб и ошибок я прибегнул к публикации себя, и любая помощь будет высоко ценится. Вот мой код в его текущем воплощении

    Sub Extract()
    On Error Resume Next
    Set myOlApp = Outlook.Application
    Set mynamespace = myOlApp.GetNamespace("mapi")

    ‘open the current folder, I want to be able to name a specific folder if possible…

    Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
    Set xlobj = CreateObject("excel.application.14")
    xlobj.Visible = True
    xlobj.Workbooks.Add
    'Set Heading

    xlobj.Range("a" & 1).Value = "Case Number"
    xlobj.Range("b" & 1).Value = "HDD Serial Number"
    xlobj.Range("c" & 1).Value = "Sys Serial Number"
    xlobj.Range("d" & 1).Value = "User"


    For i = 1 To myfolder.Items.Count
    Set myitem = myfolder.Items(i)
    msgtext = myitem.Body

    ‘search for specific text
    delimtedMessage = Replace(msgtext, "reference number", "###")
    delimtedMessage = Replace(delimtedMessage, "Problem description:", "###")
    delimtedMessage = Replace(delimtedMessage, "Serial Number:", "###")
    messageArray = Split(delimtedMessage, "###")
    ‘write to excel
    xlobj.Range("a" & i + 1).Value = messageArray(1)
    xlobj.Range("b" & i + 1).Value = messageArray(2)
    xlobj.Range("c" & i + 1).Value = messageArray(3)
    xlobj.Range("d" & i + 1).Value = myitem.To

    Next
    End Sub

Ссылки, которые я использовал до сих пор:Использование VB / VBA для поиска сообщений Outlook и извлечения определенных данных в таблицу Excel Был другой, который я использовал, для которого я не могу найти ссылку, и ветку на reddit, но я все еще застрял. Я не уверен, что это лучший способ достичь желаемых результатов, так как это моя первая попытка чего-то подобного. Я открыт для любых изменений. заранее спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос