1

Я пишу следующую программу vbscript для чтения файла .eml и извлечения идентификатора электронной почты отправителя. Хотя он успешно работает без каких-либо ошибок, он не показывает msgbox с идентификатором электронной почты. Пожалуйста, объясните мне, как решить эту проблему.

Этот код прекрасно работает с 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

1 ответ1

0

Не совсем понятно, является ли это фрагментом большей части работы, но вы на самом деле не вызываете reademl() в вашем примере, поэтому код, который находится в Sub, недоступен.

Предположительно, вы вызываете сабвуфер при использовании VBA.

Попробуйте добавить reademl после End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .