2013-09-30 43 views
0

的末尾添加空格我要創建一個腳本,執行以下操作:VB腳本在每一句話

  • 發生在一個文本文件作爲輸入
  • 然後檢查,如果文本的每一行文件由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) 

任何人都可以點我什麼是錯的智慧我的語法?

+0

我早就猜到是這條線上的錯誤:'strLine中= ts.ReadLine'自變量未聲明。 – Steve

+3

我想你想'strLine = strLine&Space(strDiff)' – Steve

+1

我刪除了你的vb.net和vba標籤。這是VBScript,與vb.net完全不同,與VBA略有不同。 – HK1

回答

0

我想你想:

strLine = strLine & Space(strDiff) 

空間是發生在一些空間返回,在dotNet的一種方法,它部分是加時賽的串類,但在VBScript/VBA,我認爲這是它是自己的功能。如果沒有,嘗試

String.Space(strDiff)