Problema al leer el archivo .eml en vbScript: aunque no hay error de compilación, no hay salida

1

Estoy escribiendo el siguiente programa vbscript para leer un archivo .eml y extraer el ID de correo electrónico del remitente. Aunque se ejecuta correctamente sin ningún error, no muestra el msgbox con la ID de correo electrónico. Guíeme cómo resolver este problema.

Este código funciona bien con VBA.

Sub reademl()

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, MyFile, FileName, emlid, strLine

Set fso = CreateObject("Scripting.FileSystemObject")

' Open the file for output.
FileName = "C:\Documents\VBScript\test-sample-message.eml"

Set MyFile = fso.OpenTextFile(FileName, ForReading, True, TristateTrue)


Do While MyFile.AtEndOfStream <> True
    strLine = MyFile.ReadLine
    If(InStr(strLine,"To:")<>0) Then
        emlid=Mid(strLine,InStr(strLine,":")+2,Len(strLine)-InStr(strLine,":")-1)
        Exit Do
     End If

Loop
MsgBox(emlid)

MyFile.Close

End Sub

usuario2363110
fuente

Respuestas:

1

No está del todo claro si se trata de un fragmento de un trabajo más grande, pero en realidad no se llama reademl()en su ejemplo, por lo que el código, que está en un Sub, es inalcanzable.

Presumiblemente llama al sub cuando usa VBA.

Intenta agregar reademldespuésEnd Sub

Yorik
fuente
Alternativamente, mueva el contenido del sub a "main ()" y elimine el Sub (no hay requisito para main () en vbscript, AFAIK, pero espero que el punto del comentario sea claro)
Yorik