2013-04-02 4 views
0

이 기존 vbs 루프의 값을 어떻게 합계합니까? 나는 함수를 만들려면 그 금액 (합계) 값 (sLine) 렌 나는 기능을 코딩하는 방법) 1을 모르는 줄 oOutStream.WriteLine mySum루프의 값 합계 방법

를 출력하고, 2) 여부 둥지 기존 루프에서 사용하거나 새로운 루프를 작성하십시오.

Function MyOp() 
Dim nLine, sLine, nCount 

nCount = 1 
Do Until oInStream.AtEndOfStream 
nLine = oInStream.Line 
sLine = oInStream.ReadLine 

nCount = nCount +1 
oOutStream.WriteLine "<p id='" & Pad(nLine, 2, 0) & "'>" & sLine & "</p>" 

Loop 
MyOp = nCount 

End Function 

답변

0
내가 바로 그때 그것을 얻을 경우

...

Function MyOp() 
    Dim nLine, sLine, nCount, nLen 

    nCount = 1 
    Do Until oInStream.AtEndOfStream 
     nLine = oInStream.Line 
     sLine = oInStream.ReadLine 
     nLen = nLen + Len(sLine) 

     nCount = nCount +1 
     oOutStream.WriteLine "<p id='" & Pad(nLine, 2, 0) & "'>" & sLine & "</p>" 
    Loop 
    oOutStream.WriteLine nLen 
    MyOp = nCount 
End Function 

하지만 당신은 계산의 필요없이 File.Size 속성이 같은 결과를 얻을 수 있습니다.

Set fso = CreateObject("Scripting.FileSystemObject") 
fLen = fso.GetFile("file.ext").Size 

P. 자체 수정 : ReadLine은 줄 바꿈 문자 (Chr (13) & Chr (10))를 제거하므로 Len(string)의 합계는 Size 속성보다 작습니다.

이 기능은 텍스트 파일로 테스트하고, TextStream 오브젝트 파일을 저장하지 않고 EditPlus를 얻는 방법을 알지 못합니다. 비밀이 아니라면 어떻게합니까?

+0

감사의 시커, 나는 두 가지 방법을 모두 시도했지만 작동시키지 못했습니다. 지금까지 fso 메서드와 마찬가지로 저장 한 파일이 아니라 열려있는 텍스트 문서가 있습니다. 내 스크립트는 텍스트 편집기 (EditPlus)에서 필터로 실행됩니다. fso 변수를 문자열 값으로 변경하려고했습니다. 또한 루프 작업을 시도했지만 그 중 하나를 작동시키지 못했습니다. 나는 조금 후에 다시 시도 할 것이다. –

+0

@ggg 일부 답변으로 내 답변을 업데이트합니다. – seeker

+0

EditPlus에서 텍스트 필터를 만들려면 사용자 도구 (기본 설정/사용자 도구) 기능을 사용하여 사용자 정의 스크립트를 추가해야합니다. 웹상에서 EditPlus 용 예제 작업 텍스트 필터 (vbs 및 javascript)가 있습니다. 도움이 필요하면 구성 할 수 있도록 도와 줄 수 있습니다. –