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之前添加这一行。 但是这会添加额外的列,这不是我正在寻找。