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

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.