【发布时间】:2017-01-18 01:13:40
【问题描述】:
我有一个 csv 文件,它的 D 列中输入了日期,并在澳大利亚日期格式下格式化。其余数据为整数:
4/10/2016 (correctly representing 4 Oct 16)
15/03/2017 (correctly representing 15 Mar 17)
当我手动将此文件保存为 xlsx 时,它会正确保存日期,因此当我重新打开 xlsx 文件时,日期会正确显示:
value = 4/10/2016, format = 4/10/2016 (as dd/mm/yyyy)
value = 15/03/2017, format = 15/03/2017 (as dd/mm/yyyy)
但是,当我以编程方式执行相同操作时:
fileNameXLSX = "H:\20160930.xlsb"
fileNameCSV = "H:\20160930.csv"
Set srcBook = Application.Workbooks.Open(filenameCSV, ReadOnly:=True)
Application.DisplayAlerts = False
srcBook.SaveAs filename:=fileNameXLSX, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
srcBook.Close False
Set srcBook = Nothing
Application.DisplayAlerts = True
并打开文件,一些条目、月份/日期被交换,在那个 xlsx 文件中这些值将变为:
value = 10/4/2016, format = 10/4/2016 (still dd/mm/yyyy)
value = 15/03/2017, format = 15/03/2017
我在澳大利亚的 windows 语言环境中。我该如何解决这个问题,以便我的 VBA 代码能够按照我的预期执行。
【问题讨论】: