VBA导出并保存为CSV问题

时间:2017-08-14 06:19:23

标签: excel vba date formatting

在网上找到以下代码,虽然我在日期运行宏时有点奇怪,因为我的日期将转换为: [DD / MM / YYYY]至[MM / DD / YYYY]

例如: 2017/07/31至2017年7月31日。

任何能够提供帮助的人,我都想保留它[DD / MM / YYYY]。

参考下文:

Dim strName As String
Dim filepath As String

Application.ScreenUpdating = False

strName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & " " & ActiveSheet.Name & ".csv"

ActiveSheet.Copy    'copy the sheet as a new workbook
ActiveWorkbook.SaveAs Filename:=strName, FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False

Application.ScreenUpdating = True

MsgBox "File has been Created and Saved as:  " & vbCr & strName, , "Copy & Save Report"

谢谢,

1 个答案:

答案 0 :(得分:0)

根据您的本地语言设置(在“控制面板”中指定),以下内容应该有效:

open-cv

理想情况下,应通过指定ActiveWorkbook.SaveAs Filename:=strName, FileFormat:=xlCSV, Local:=True 方法的TextCodepage参数来使用此方法。 但是,根据MSDN reference,所有Excel语言都会忽略此参数。

之前的question on SO addresses this,,建议使用SaveAs,然后将扩展名设置为FileFormat:=xlUnicodeText,即:

.csv

但是,在测试您的方案时,这似乎不适合我。