gpt4 book ai didi

当 CSV 文件另存为 XLSX 时,VBA 更改日期格式

转载 作者:行者123 更新时间:2023-12-03 00:22:10 25 4
gpt4 key购买 nike

我有一个 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 代码执行我期望的操作。

最佳答案

我会尝试将 local 设置为 true,这应该使日期保持所需的格式。在您的代码中,这将如下所示:

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, Local:=True
srcBook.Close False
Set srcBook = Nothing
Application.DisplayAlerts = True

来源:https://msdn.microsoft.com/en-us/library/office/ff841185.aspx

关于当 CSV 文件另存为 XLSX 时,VBA 更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41690934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com