0

csv ファイルを分割するスクリプトを作成しています。ファイルが新しいファイルに分割される間隔をユーザーが入力できるようにしたいと考えています。

私が抱えている問題は、間隔を入力しても分割されないことですが、値をハードコードすると分割されます。

Option Explicit

Const ForReading = 1
Const ForWriting = 2

Dim objFSO, objInputFile, objOutputFile
Dim intLine, intFile
Dim strHeaders
Dim strInputFile, strOutputPrefix, strLine
Dim MyDate
Dim userSplit
Dim split

'strInputFile = InputBox("Enter file location")
strInputFile = "H:\VBS\domS_CUST.csv"
strOutputPrefix = strInputFile & DatePart("yyyy", Now) & "-" & DatePart("m", Now) & "-" & DatePart("d", Now) 


intFile = 1
intLine = 0

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objInputFile = objFSO.OpenTextFile(strInputFile, ForReading)

If (objInputFile.AtEndOfStream = True) Then
  ' The file is empty
  WScript.Quit 1
End If

strHeaders = objInputFile.ReadLine

userSplit = InputBox("Enter when you want to split")

Do While (objInputFile.AtEndOfStream = False)

split = userSplit

  strLine = objInputFile.ReadLine

  If (intLine <= 0) Then
    Set objOutputFile = objFSO.CreateTextFile(strOutputPrefix & "_" & intFile & ".csv", True)
    objOutputFile.WriteLine strHeaders

    intLine = 1
  End If

  objOutputFile.WriteLine strLine


  If (intLine >= split) Then
    objOutputFile.Close
    Set objOutputFile = Nothing

    intFile = intFile + 1
    intLine = 0
  Else
    intLine = intLine + 1
  End If
Loop 

入力は次の行です。

userSplit = InputBox("Enter when you want to split")

そして、私はそれをこの値で分割することはできないようです。どんな助けも大歓迎です!

4

1 に答える 1