Как исправить ошибку «Ввод за концом файла»? [закрыто]

Я должен найти все шаги, содержащиеPGM=FTP затем прочитайте все строки, пока не найдете другой шаг, который не имеетPGM=FTP, Это может быть что угодно, кромеFTP, Мне нужно, чтобы весь кусок строк был записан в другой столбец с соответствующим именем программы.

Это пример ввода:

//GPFCGI1  DD DSN=PHGP.GPFCGIM.CGI.PATH,DISP=SHR
//GPFPWO2  DD DSN=PHGP.GPFMKT2.MKT.ESDS,DISP=SHR
//GPFPWO4  DD DSN=PHGP.GPFMKT4.MKT.ESDS,DISP=SHR
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
//STEP006  EXEC PGM=FTP
//FILE01   DD DSN=PHGP.GPFMKT2.MKT.ESDS,DISP=SHR
//FILE02   DD DSN=PHGP.GPFMKT4.MKT.ESDS,DISP=SHR
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
OPEN HKGSPADD.AP.MANULIFE.COM                                    
NOLOG *****Dummy Member Include**********************************
ASCII                                                            
PUT  %FILE01,ESDS,FB,80,80   CXX_TRIAL4_ELIGIBLE_PAC_PAP.CSV     
PUT  %FILE02,ESDS,FB,86,86   CXX_TRIAL4_WORK_ELIGIBLE_PAC_PAP.DAT
BYE                                                              
//STEP007  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
 DELETE ( PHGP.GPFMKT1.MKT.INT.KSDS ) PURGE CLUSTER
DELETE ( PHGP.GPFMKT2.MKT.ESDS ) PURGE CLUSTER    
DELETE ( PHGP.GPFMKT3.MKT.KSDS ) PURGE CLUSTER    
DELETE ( PHGP.GPFMKT3.MKT.TXT.ESDS ) PURGE CLUSTER
DELETE ( PHGP.GPFMKT4.MKT.ESDS ) PURGE CLUSTER    
//*

Я создал этот Sub, но он дает мне «Ошибка выполнения 62: Ввод за концом файла». Зачем?

Sub Define()
    Dim file As Object
    Dim flag As String
    flag = True
    folder = "D:\DOWNLOADS\New folder"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    J = 1
    'Opening the file in READ mode
    Set FLD = objFSO.GetFolder(folder)
    For Each file In FLD.Files
        Set objFile = objFSO.OpenTextFile(file)
        Do While Not objFile.AtEndOfStream
            If contents Like "*PGM=FTP" Then
                'If InStr(contents, "*PGM=FTP") Then
                flag = True
                contents3 = contents

                Do Until flag = False
                    strline = objFile.Readline
                    If strline Like "//STEP*" Then
                        flag = False
                        contents = strline
                    Else
                        contents3 = contents3 & vbNewLine & strline
                    End If
                Loop
                Sheets(1).Cells(J, 1).Value = file.Name
                Sheets(1).Cells(J, 2).Value = contents3
                J = J + 1
            Else
                contents = objFile.Readline
            End If

        Loop
    Next
    objFile.Close
End Sub

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

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