使用特定的列类型将CSV导入到xlsx

时间:2019-06-21 10:33:22

标签: excel csv batch-file import vbscript

我正在使用VBScript将CSV文件转换为xlsx,除了一个表包含长数字(大于15个字符)并且列格式为数字的情况下,该表正常工作。 Excel将15号以上的字符替换为0:

从此:5555555555555556666
为此:5555555555555550000

解决方案是将单元格格式更改为特定列中的文本(顺便说一句,如果更简单,整个表可以是文本)。

我尝试使用

objExcel.columns(2).numberformat= "@" 

但是如果我提早完成,那么导入将覆盖它。如果我在导入后执行此操作,则格式将为文本,但数据已损坏。

我发现here并且正在使用的脚本是这样的:

Dim file, WB

With CreateObject("Excel.Application")
    On Error Resume Next
    For Each file In WScript.Arguments
        Set WB = .Workbooks.Open(file)
        WB.SaveAs Replace(WB.FullName, ".csv", ".xlsx"), 51
        WB.Close False
    Next    
    .Quit
End With

WScript.Echo "Done!" 

0 个答案:

没有答案