查看: 32  |  回复: 0
  VBA代码 读写文本文件 CreateObject(ADODB.Stream) unicode|utf-8; Ascii; gb2312; big5; gbk
楼主
发表于 2025年3月18日 14:50

有可能写入的文件成Unix格式只有LF,不是vbCrlf。

Public Function f_ReadFileChar(ByVal FilePath As String, Optional Charset As String = "UTF-8") As String
    ' 读取 UTF-8 GB2312 等格式的文件内容
    Dim objStream As Object
    Set objStream = CreateObject("ADODB.Stream")
    With objStream
        .Charset = Charset 'unicode|utf-8; Ascii; gb2312; big5; gbk
        .Open
        .LoadFromFile FilePath
        f_ReadFileChar = .ReadText
        .Close
    End With
    Set objStream = Nothing
End Function

Public Sub s_WriteFileChar(ByVal FilePath As String, ByVal Content As String, Optional Charset As String = "UTF-8")
    ' 写入 UTF-8 GB2312 等格式的文件内容
    Dim objStream As Object
    Set objStream = CreateObject("ADODB.Stream")
    With objStream
        .Charset = Charset 'unicode|utf-8; Ascii; gb2312; big5; gbk
        .Open
        .WriteText Content
        .SaveToFile FilePath, 2    ' 2 表示覆盖现有文件
        .Close
    End With
    Set objStream = Nothing
End Sub


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2025 MaNongKu.com