2010-07-19 4 views
0

플랫 파일을 Excel에서 읽을 수있는 형식으로 변환하려고합니다. 물결표 (~)를 필드 구분 기호로 사용하는 텍스트 파일을 받고이를 Tab 문자를 사용하는 텍스트 파일로 변환하려고합니다. 커맨드 라인에서 실행하는 것에 관심이 있습니다. 파일 이름을 유연하게 사용해야하므로 매개 변수를 사용하고 싶습니다. '[문자열 : "infile.txt"]' 어떤 이유명령 줄에서 매개 변수로 전달 된 문자열의 문제가 발생했습니다.

Set Args = WScript.Arguments 
Set inf = Args(0) 
Set outf = Args(1) 

Const ForReading = 1 
Const ForWriting = 2 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

Set objFile = objFSO.OpenTextFile(infile.Value , ForReading) 
strContents = objFile.ReadAll 
objFile.Close 

strContents = Replace(strContents, "~", vbTab) 

Set objFile = objFSO.OpenTextFile(outfile.Value , ForWriting) 
objFile.Write strContents 
objFile.Close 

내가 필요한 오류 개체 수, 다음과 같이 내가 그것을 가지고 VBScript를입니다. objFSO.OpenTextFile(infile, ForReading)에 infile, infile.Value 또는 infile.ToString을 인자로 사용하면 작동하지 않는 것 같습니다.

VBScript가 내 장점이 아니므로 누구에게 도움이 필요합니까? 위의 코드는 이미 당신에게 매개 변수 값을 제공하는 것도

inf = Args(0) 
outf = Args(1) 
  • 참고 :

  • 답변

    2
    1. 명령 줄 매개 변수 문자열이 아닌 객체, 그래서 과제에 대한 Set 키워드를 사용할 필요가 없습니다 따라서 .Value, .ToString 등을 사용할 필요가 없습니다 (실제로 이렇게하면 런타임 오류가 발생합니다). 스크립트에서

    2. 있는 거 오타가 — infoutf 변수는 이후에 infileoutfile로 불린다.

    +0

    포인터 주셔서 감사합니다. 원래 Sub에서 변환 부분을 가졌지 만 오류가 발생하기 시작했을 때 그 부분을 꺼 냈습니다. – taserian

    관련 문제