VBAreplace代码不适用于Excel中的文本文档

我有下面的代码来replace文本文档中的逗号:

Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("Path:\CSV.txt", ForReading) strText = objFile.ReadAll strTab = vbTab strText = Replace(strText, strTab, ",") objFile.Close Set objFile = objFSO.OpenTextFile("Path:\CSV.txt", ForWriting) objFile.Write strText objFile.Close 

这在我创build自己的unicode文本文档时工作正常,但是在从excel创build的unicode文本文档上使用时引发错误。

行:16字符:1错误:无效的过程调用或参数代码:800A0005

下面是一个从excel创build的文本文件的例子,它给出了错误:

CSV.txt

任何人都可以看到什么是不同的这个文本文件,会导致错误?

编辑:我刚刚尝试将结果写入一个新的文本文件,而不是覆盖相同的一个,但这只是在文档中给出了一个乱码的结果:

 ÿþa 黐멸ȯ , , , , , , , , , , , , , , , , , , , 

编辑2:从'Siddharth Rout'使用TristateTrue的build议让我过了最初的'无效的过程调用'的错误,但现在我卡住了乱码的汉字输出 – 任何人都可以build议如何解决这个问题?

更换

 Set objFile = objFSO.OpenTextFile("Path:\CSV.txt", ForWriting) 

 Kill "Path:\CSV.txt" Set objFile = objFSO.CreateTextFile("Path:\CSV.txt", True, True) 

现在尝试一下