今天我遇到了一个尝试逐行写入csv文件的问题,其中一列格式化为本地Excel日期。我的脚本可以正常工作,但不能正确导出日期,并且正在以串行字符串的形式导出。我只是希望导出的文件以“mm/dd/yyyy”格式写入日期。有任何想法吗?将本地excel日期导出为文本字符串
Sub OUTPUT_COMMA_DELIMITED_RANGE()
Dim outputPath As String
Dim outputFileName As String
Dim rSrc As Range
Dim rSrcRow As Range
Dim fso As FileSystemObject
Dim fOut As TextStream
On Error GoTo SomethingBadHappened
Dim MyPathFull As String
outputPath = "C:\workspace\Appendix_Working_Area\Script_Out\"
outputFileName = "Z225R" & Chr(95) & "Eddy_Fluctuating_Zone.csv"
MyPathFull = outputPath & outputFileName
Set fso = CreateObject("scripting.filesystemobject")
Set fOut = fso.CreateTextFile(outputPath & outputFileName)
Dim EddyHghEleZoneRng As Range
Set EddyHghEleZoneRng = Worksheets("225R").Range(Cells(1, 9), Cells(1, 9).End(xlToRight).End(xlDown))
Set rSrc = EddyHghEleZoneRng
For Each rSrcRow In rSrc.Rows
fOut.WriteLine Join(Application.WorksheetFunction.Transpose _
(Application.WorksheetFunction.Transpose(rSrcRow)), ",")
Next rSrcRow
MsgBox "File " & outputPath & outputFileName & " created successfully"
SomethingBadHappened:
If Err.Number <> 0 Then MsgBox Err.Description
On Error Resume Next
fOut.Close
If Err.Number <> 0 And Err.Number <> 91 Then MsgBox "Unable to close file (" & Err.Description & ")"
End Sub
我选择了手动创建CSV文件,因为ID不希望任何与使用内置到Excel的FileFormat:=xlCSV
功能有关的不良角色。
为了提供我正在处理的数据类型的示例,我创建了一个我想要的输出csv文件的样例。
网站,日期,Plane_Height,Area_2D,Area_3D,体积,错误 225R,11/3/1990,8kto25k,2212.834,2235.460,841.76655,88.513
谢谢,
dubbbdan
在Windows上不能使用'/'在一个文件名。 – enderland