使用ADODB将Excel中Sheet页另存为UTF8编码CSV 博客分类: VBA ADODBVBASheetCSVUTF8
程序员文章站
2024-02-13 12:39:22
...
Public Sub WriteCSV() Set wkb = ActiveSheet Dim fileName As String Dim MaxCols As Integer fileName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv") If fileName = "False" Then End End If On Error GoTo eh Const adTypeText = 2 Const adSaveCreateOverWrite = 2 Dim BinaryStream Set BinaryStream = CreateObject("ADODB.Stream") BinaryStream.Charset = "UTF-8" BinaryStream.Type = adTypeText BinaryStream.Open For r = 1 To 10 s = "" c = 1 While Not IsEmpty(wkb.Cells(r, c).Value) s = s & wkb.Cells(r, c).Value & "," c = c + 1 Wend BinaryStream.WriteText s, 1 Next r BinaryStream.SaveToFile fileName, adSaveCreateOverWrite BinaryStream.Close MsgBox "CSV generated successfully" eh: End Sub
PS: 需要每个Sheet页点一次宏,弹出窗口,选择另存为名称,点击确定,完成另存为UTF8格式CSV,并且每个只导出10行,当行上内容为空时停止