VBS读取文本文件函数ReadTextFile

标签: , , , ,

前VBS吧吧主次碳酸钴写的读取文本文件的自定义函数,据说可以自动判断无BOM的UTF-8编码。

Function ReadTextFile(Path)
    'Author 次碳酸钴
    'This Function is useful for no BOM UTF-8
    On Error Resume Next
    Dim Size,Text,Charset
    With CreateObject("ADODB.Stream")
        .Open:.Type=1:.LoadFromFile Path
        Size=.Size:If Size=0 Then Exit Function
        If AscB(.Read(1))<>239 Then Size=Size+3
        .Position=0:.Type=2:.Charset="UTF-8"
        Err.Clear
        Text=.ReadText
        If Err.Number Then
            Charset="Unicode"
        Else
            .Close:.Open
            .WriteText Text
            If Size<>.Size Then
                Charset="GBK"
            Else
                Charset="UTF-8"
            End If
        End If
        .Close:.Open:.Type=1:.LoadFromFile Path
        .Position=0:.Type=2:.Charset=Charset
        ReadTextFile=.ReadText
    End With
End Function

Demon注:仅为复制粘贴,未分析测试,不保证正确性,使用前请自行斟酌。

原文链接:http://tieba.baidu.com/p/1539166222

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. WMI入门教程:第一部分
  2. VBS实现“多线程”
  3. VBS脚本中Sleep方法的最大延迟时间
  4. VBScript实现ZIP文件的压缩或解压(ZipCompressor)
  5. 一个复杂的VBS脚本问题——变量的变量

留下回复