Excel模板:以批处理模式导入CSV

我需要创build一个模板(MS Excel)来导入CSV数据(错误日志)在Excel中。

  1. 我已经设置条件格式,如果调用值大于0,单元格颜色必须自动更改为RED,而值= 0时,单元格颜色必须为绿色。

  2. 我将该文件保存为Excel模板。

  3. 现在,我想将CSV数据导入从上述模板(使用条件格式)创build的新XLSX文档中,并以批处理模式自动安全结果。

我正在使用以下命令:

"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /e "C:\Work\errors.log" /t "C:\Work\ABFTest.xltx"

该命令不是将数据加载到从ABFTest.xltx模板创build的新Excel文档中,而是打开两个Excel文件(一个包含CSV数据)以及从该模板创build的其他文件。

有没有解决这个问题?

@Mubeen Shahid我写下面的代码片段根据您的原始请求,所以它现在不会完全满足您的新条件。 如果没用,那么不pipe丢弃它。

代码将读取一个.csv文件并将其格式化为表1中的一个列。对于本例,该.csv文件被称为“NosToCol.csv”,您必须提供您自己的path,如<>所示。 参数可以在代码片段中更改以适应。

 Sub ReadCSVFile() Dim ws As Worksheet Dim fName As String, Txt1 As String, tmpvar As String Dim fRow As Long, lRow As Long, Rw As Long Dim Col As Long, rec As Long Dim wrng As Range, cl As Range Dim ifnum As Integer Dim rearr(), wrarr Set ws = Sheets("Sheet1") fName = "<<yourpath>>\NosToCol.csv" fRow = 2 'Row 2 Col = 1 'Col A Txt1 = "" ifnum = 1 With ws lRow = .Cells(Rows.Count, Col).End(xlUp).Row 'READ DATA FROM FILE Open fName For Input Access Read As #ifnum rec = 0 Do While Not EOF(ifnum) Line Input #ifnum, tmpvar rec = rec + 1 ReDim Preserve rearr(1 To rec) rearr(rec) = tmpvar Loop Close #ifnum 'WRITE DATA TO RANGE For c = 1 To rec wrarr = Split(rearr(c), ",") Set wrng = .Range(.Cells(fRow, Col), .Cells(fRow + UBound(wrarr, 1), Col)) '.Range(.Cells(fRow, Col), .Cells(fRow + UBound(wrarr, 1), Col)).Value = Application.Transpose(wrarr) wrng.Value = Application.Transpose(wrarr) c = c + 1 'MODIFY CELL COLOUR For Each cl In wrng If cl = 0 Then cl.Interior.Color = vbRed Else cl.Interior.Color = vbGreen Next cl Next c End With End Sub