0

我必须创建一个执行以下操作的脚本:

  • 接受一个文本文件作为输入
  • 然后检查文本文件的每一行是否由 1464 个字符组成。
  • 如果不是,我需要添加足够的空格以使每行总共有 1464 个字符。

我编写了以下脚本,但出现以下编译错误:

Microsoft VBScript runtime error: Object required: 'strLine'.

这是下面的代码

 Set objFS = CreateObject("Scripting.FileSystemObject")
    strFile = "c:\Users\ERP\Documents\testFile.txt"
    strTemp = "c:\Users\ERP\Documents\temp.txt"
    Set objFile = objFS.GetFile(strFile)
    Set objOutFile = objFS.CreateTextFile(strTemp,True)
    Set ts = objFile.OpenAsTextStream(1,-2)
    Do Until ts.AtEndOfStream
        strLine = ts.ReadLine
        strLineLength = Len(strLine)
        If strLineLength < 1464 Then
            strDiff = 1464-strLineLength
            strLine.Space(strDiff)
            objOutFile.Write(strLine)
        End If
    Loop
    objOutFile.Close
    ts.Close
    objFS.DeleteFile(strFile)
    objFS.MoveFile strTemp,strFile 

错误发生在这一行:

strLine.Space(strDiff)

谁能指出我的语法有什么问题?

4

1 回答 1

0

我想你想要:

strLine = strLine & Space(strDiff)

Space 是一种接受多个空格返回的方法,在 dotNet 中,它是 string 类的一部分,但在 VBScript/VBA 中,我认为它是它自己的函数。如果没有,请尝试

String.Space(strDiff)
于 2013-09-30T22:44:34.697 回答