2020年8月5日星期三

VBA write UTF-8 text file By ADODB.Stream

First, Add references to Microsft ActiveX Data Objects x.x Libary.
x.x: Maybe 2.0, 2.1, 3.0 ...  My Excel 2016 is 6.1.

Then, the next subprocedure.

Sub WriteAllText(filePath As String, buffer As String)
    Dim fsT As New ADODB.Stream
    
    'StreamTypeEnum.adTypeBinary=1
    'StreamTypeEnum.adTypeText=2
    fsT.Type = StreamTypeEnum.adTypeText
    
    fsT.Charset = "utf-8"
    'Open the stream for writing
    fsT.Open
    'Write text strings
    fsT.WriteText buffer
    
    'SaveOptionsEnum.adSaveCreateNotExist = 1,
    'SaveOptionsEnum.adSaveCreateOverWrite = 2
    fsT.SaveToFile filePath, SaveOptionsEnum.adSaveCreateOverWrite
    
End Sub

没有评论: