Excel VBSdate问题(将XLSX转换为TXT后的DATE问题)

这是将XLSX转换为TXT文件的简单解决scheme(制表符分隔)

Const xlText = -4158 Set objArgs = WScript.Arguments For I = 0 to objArgs.Count - 1 FullName = objArgs(I) FileName = Left(objArgs(I), InstrRev(objArgs(I), ".") ) Set objExcel = CreateObject("Excel.application") set objExcelBook = objExcel.Workbooks.Open(FullName) objExcel.application.visible=false objExcel.application.displayalerts=false objExcelBook.SaveAs FileName & "txt", xlText objExcel.Application.Quit objExcel.Quit Set objExcel = Nothing set objExcelBook = Nothing Next 

问题在于它在DATE转换后,从dd \ mm \ yyyy更改为mm \ dd \ yyyy

地区和其他设置在我的电脑上设置为dd \ mm \ yyyy(英国)

任何有关如何确保这个VBS脚本将保持date格式相同的想法。

可能是任何问题的xlText数字?

已经尝试过(没有成功)

 xlTextMac 19 xlTextMSDOS 21 xlTextPrinter 36 xlTextWindows 20 xlUnicodeText 42 

谢谢。

PS有什么build议? 有任何想法吗?

我有相同的VBS脚本将XLS转换为CSV,date转换为美国格式。 (((

这只是我发现的东西,但还是无法弄清楚。

Excel 2007将工作表另存为CSV不同于将工作表另存为VBA中的csv

PART解决scheme:

objExcelBook.Columns(“A:ZZ”)。NumberFormat =“dd / mm / yyyy”

在SAVEAS之前添加这一行。 但是这会添加额外的列,这不是我正在寻找。