2016-11-07 7 views
0

私はこれを引き起こす原因を知っていますが、私はそれを修正するために自分の状況で必要なものがよく分かりません。他の人がコードを書いている(またはそれを借りた)が、63行目の文字3でスクリプトにエラーが表示されている。その行にReadAllがあることに注意してください。もう1つ入力ファイルの最後の末尾にエラー

<HTA:APPLICATION ID="oMyApp" 
    APPLICATIONNAME="UPSApp" 
    ICON=".\UPS.ico" 
    SCROLL="no" 
    BORDER="thin" 
    SINGLEINSTANCE="yes"> 

<script language="VBScript"> 
Const strStatusFile = "C:\Zscript\fswstatus\fswStatus.txt" 

Dim intTimerID 
intTimerID = window.setInterval("RunAtInterval", 1000) 

Sub Window_onLoad 
    Dim intWidth, intHeight 

    intWidth = 400 
    intHeight = 200 

    Me.resizeTo intWidth, intHeight 
    Me.moveTo ((Screen.Width/2) - (intWidth/2)), ((Screen.Height/2) - (intHeight/2)) 
End Sub 

Sub RunAtInterval 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 

    If Not objFSO.FileExists(strStatusFile) Then Exit Sub 
    Set objFile = objFSO.OpenTextFile(strStatusFile, 1, True) 

    strContent = objFile.ReadAll 
    strContent = Replace(strContent, vbLf, "<br>") 

    If strContent = "QUIT" Then 
    window.Close 
    Else 
    document.formStatus.innerHTML = strContent & "<br>" 
    End If 
End Sub 

<form name = "formStatus" 
+1

もう1つの重複した[Microsoft VBScriptランタイムエラー:ファイルの末尾にエラーが発生しました](http://stackoverflow.com/q/26878933/692942) – Lankymart

+0

より多くの制御を可能にし、 Do While Not Not objFile.AtEndOfStream'のようなチェックを行います。 'objFile.ReadAll()'があまり効率的でないため、大きなファイルを読み込もうとしている場合に特にお勧めします。 – Lankymart

答えて

0

あなたのファイルは空です/ 0証拠の長さを持っています

>> n = ".\nix.txt" 
>> goFS.CreateTextFile n 
>> WScript.Echo goFS.GetFile(n).Size 
>> goFS.OpenTextFile(n).ReadAll() 
>> 
0 
Error Number:  62 
Error Description: Input past end of file 

更新WRTのコメント:

それは空のファイルからの読み込みにも意味がないので、あなたは「shouldn試してみてください。サイズが0であることを確認し、ユースケースで妥当なことをしてください。

+0

これは、私がReadAllリファレンスに向けて進めてきたことです。上のコードに基づいて、これを回避する最善の方法は何ですか? –

+0

[何回同じ質問に答える必要がありますか?](http://stackoverflow.com/a/26880789/692942)?、それをdupとしてフラグを立てて移動してください。 – Lankymart

関連する問題