VB スクリプトを使用して、CSV ファイルをタブ区切り (txt) 形式に変換しています。txt 結果ファイルには、日付形式に変換され、日付を表す数値 (例: 703359) として保存されたいくつかの値があります。私が思いついた最善の修正は、With 基準に .NumberFormat = "@" を追加することでした。これにより、少なくとも数値表現が出力の日付 (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