我正在使用 VB 脚本将 CSV 文件转换为制表符分隔 (txt) 格式。在 txt 结果文件中,有几个值被转换为日期格式,然后保存为代表日期的数字(即:703359)。我能想出的最佳解决方法是将 .NumberFormat = "@" 添加到 With 条件。这至少将数字表示更改为输出中的日期(Aug-01)。
任何帮助将不胜感激!
谢谢,克里斯。
从 SQL 中的存储过程调用 VB 脚本: //SQL "Call": exec master..xp_cmdshell 'c:\byr\CSVtoTAB_SKUCodeProtected.vbs C:\byr\SkusOrdered.csv C:\byr\SkusOrdered.txt
// VB 代码开始:
if WScript.Arguments.Count < 2 Then
' WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv"
Wscript.Quit
End If
Dim oExcel
Dim oBook
Dim oSheet
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
Set oSheet = oBook.Sheets(1)
With oSheet
.Columns(1).NumberFormat = "@"
End With
oBook.SaveAs WScript.Arguments.Item(1), 20
oBook.Close False
oExcel.Quit
SET oBook = NOTHING
SET oExcel = NOTHING
'WScript.Echo "Done"
//样本数据:
OrderNum Sku Description Qty
12988 MHT1101 2010 LBB MANHATTAN 2
12998 MHT1101 2010 LBB MANHATTAN 1
13034 Aug-01 2010 LYB AUGUSTA 3 <-- One of the offending SKU's
13072 ATA2101 2010 LYB ATLANTA 1
13102 MHT1101 2010 LBB MANHATTAN 4
13115 MHT1101 2010 LBB MANHATTAN 5