繁体   English   中英

访问VBA导出CSV文件为UTF-8

[英]Access VBA exporting CSV file as UTF-8

我必须每天多次从Access导出数据作为CSV文件。 在我之前完成工作的人创建了这个VBA代码,只需点击一下按钮即可导出数据。 但是,我需要修改它,以便它导出为没有BOM的UTF-8,以便国际字符显示在我导入它的软件中。

我可以手动导出为文本,然后将其保存为CSV,当我转到“高级...”设置时,我选择Code Page: Unicode (UTF-8) ,这非常有效。 但正如我之前所说,我想更改VBA代码:

Private Sub Command6_Click()
Dim sExportPath As String
Dim qry As DAO.QueryDef


With Me.List0
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            sExportPath = Application.CurrentProject.Path & "\final_" & Left(Me.List0.Column(0, i), InStr(Me.List0.Column(0, i), " ") - 1) & ".csv"
            If QueryExists("Final") Then CurrentDb.QueryDefs.Delete "Final"


            Set qry = CurrentDb.CreateQueryDef("Final", "Select Salutation,Email from " & Left(Me.List0.Column(0, i), InStr(Me.List0.Column(0, i), " ") - 1))
            CurrentDb.QueryDefs.Refresh
            DoCmd.TransferText acExportDelim, , "Final", sExportPath, True

        End If
    Next i
End With
End Sub

使用值65001作为CodePage参数(TransferText方法的最后一个参数),它表示Unicode(UTF-8)。

手动执行导出并选择“高级...”,就像之前一样。 选择“代码页”和其他设置后,单击“另存为...”按钮以保存导出规范。 然后,您可以提供已保存规范的名称作为TransferText方法的第二个参数,例如,

DoCmd.TransferText acExportDelim, "MyExportSpecification", "Final", sExportPath, True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM