I have the below code..I am getting an invalid call or procedure at this statement txsOutput.Writeline txsInput1.ReadAll ..The combination file is ust a text file which has
The error 5 when calling TextStream.WriteLine is typically caused by trying to write data the TextStream can't encode:
Trying to write "U+1F00 ἀ e1 bc 80 GREEK SMALL LETTER ALPHA WITH PSILI" to a stream opened with/for 'ASCII' encoding:
>> Set f = goFS.CreateTextFile(".\tmp.txt")
>> f.WriteLine "AÄ"
>> --- no news here means: written ---
>> f.WriteLine ChrW(&H1F00)
>>
Error Number: 5
Error Description: Invalid procedure call or argument
To prove this:
>> f.close
>> Set f = goFS.CreateTextFile(".\tmp.txt", True, True) ' overwrite, unicode
>> f.WriteLine ChrW(&H1F00)
>>
>> --- no news are good news --
As the data source (.ReadAll()) seems to come from the WWW, it's probable that it contains non ASCII/ANSI text. Be warned though, just opening the output file for Unicode (=UTF-16) won't help if the input is UTF-8 slurped by .ReadAll() on a ASCII Textstream.
Without actually seeing that particular input file there isn't much more we can tell you. However, you may be able to isolate the source of the error by replacing:
txsOutput.Writeline txsInput1.ReadAll
with something like this:
On Error Resume Next
Do Until txsInput1.AtEndOfStream
line = txsInput1.ReadLine
If Err Then
WScript.Echo "Operation: Read" & vbNewLine _
"Error: " & Err.Number & vbNewLine _
"Description: " & Err.Description & vbNewLine _
"Line: " & txsInput1.Line
WScript.Echo "Text: " & line
End If
Err.Clear
txsOutput.WriteLine line
If Err Then
WScript.Echo "Operation: Write" & vbNewLine _
"Error: " & Err.Number & vbNewLine _
"Description: " & Err.Description & vbNewLine _
"Line: " & txsInput1.Line
WScript.Echo "Text: " & line
End If
Err.Clear
Loop
On Error Goto 0
Inspecting the input file with a hex editor may also be an option.