我尝试使用宏将数据从excel文件导出到csv文件。除了在csv文件中将excel文件(dd-mmm-yyyy)中的日期格式更改为(dd-mmm-yy)的部分之外,它工作正常。我想在csv文件中保留日期格式为(dd-mmm-yyyy)。
有人可以帮帮我吗?将数据写入csv文件的代码的一部分是
c1 = 2
Dim tempDate As String
Dim tempDate2 As String
tempDate = Format(Sheets("Source").Cells(c1, 2).value, "dd-mmm-yyyy")
tempDate2 = Format(Sheets("Source").Cells(c1, 3).value, "dd-mmm-yyyy")
txtfile.WriteLine (Sheets("Source").Cells(c1, 1).value & sSep & tempDate & sSep & _
tempDate2 & sSep & Sheets("Source").Cells(c1, 4).value & sSep & _
temp1 & sSep & Sheets("Source").Cells(c1, 6).value & sSep & Sheets("Source").Cells(c1, 7).value & sSep & _
Sheets("Source").Cells(c1, 8).value)
c1 = c1 + 1
答案 0 :(得分:1)
听起来像CSV文件设置为使用Microsoft Excel打开。您可以更改"打开"对话框使用另一个程序,也许是Notepad.exe。
使用Microsoft Excel打开CSV文件时,Excel的默认日期格式将应用于所有日期,因为未指定格式。 CSV文件不能包含格式信息。
可能的解决方案:在格式化的日期字符串前加上一个=符号并将其包装在引号中,以便将其视为字符串,如下所示:
="1/12/2014"
您也可以使用撇号为日期添加前缀,这也会导致Excel将其视为字符串:
'1/12/2014
另一个可能的解决方案是创建一个实际的Excel文件。