VBA Outlook. Intentando extraer datos específicos del cuerpo del correo electrónico y exportarlos a Excel

He encontrado bastantes guías aquí que me han llevado a donde estoy actualmente, pero necesito ayuda para darle los toques finales a mi código (soy un novato en esto, así que tengan paciencia conmigo). Estoy tratando de usar VBA dentro de Outlook para exportar datos de los correos electrónicos que tengo en una carpeta determinada de mi Outlook para sobresalir. Necesito extraer datos del cuerpo del mensaje de numerosos correos electrónicos en una hoja de Excel. La plantilla de correo electrónico de la que estoy extrayendo se puede encontrar a continuación. Necesito el número de 10 dígitos después del número de referencia, el número de 10 dígitos después del número de serie y el número de 7 dígitos después de la descripción del problema. (He en negrita las partes que necesito en caso de que no esté claro)

Estimado Sr. / Sra. Xxxxxxxx,

------------------ Información no necesaria -----------------

Número de referencia1234567890.

ESTADO: ---- información no necesaria -----

Número de serie:XXXXXXXXXX Descripción del problema:______________ (los datos aquí pueden variar ligeramente, solo estoy convencido de sacar un número de 7 dígitos de esta área, pero si eso no se puede hacer, que así sea) _______

Utilizar este….

----------------- El resto no es necesario -----------------------

Hasta ahora, he podido crear un script que examinará la carpeta de Outlook en la que estoy actualmente, abrirá una hoja de Excel, nombrará los encabezados en Excel e importará los datos. Sin embargo, extrae todo el cuerpo, no solo los segmentos que necesito, y los coloca en las columnas incorrectas en Excel. Eso es lo más lejos que puedo llegar desafortunadamente, ya que soy un completo novato en esto. Pude encontrar algunos ejemplos en este sitio con un problema similar con las soluciones, pero no pude darles mucho sentido. A través de muchas pruebas y errores, he recurrido a publicarme, y cualquier ayuda sería muy apreciada. Aquí está mi código en su encarnación actual.

    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

Referencias que he usado hasta ahora:Usando VB / VBA para buscar mensajes de Outlook y extraer datos específicos en la hoja de cálculo de Excel Hubo otro para el que no puedo encontrar el enlace, y un hilo en reddit también, pero todavía estoy atascado. No estoy seguro de si algo de esto es la mejor manera de lograr los resultados que quiero, ya que este es mi primer intento de algo como esto. Estoy abierto a cambiar cualquier cosa. Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta