0
我有一个将我的csv转换为excel的VBS。 现在我的CSV中有一些人物像“!” 我想在转换为excel之后在那些具有该字符的单元格上使用黄色。基于VBScript中单元格值的颜色Excel
Sample.CSV:
Name,Location,Phone,Comment1,Comment2
"ABC","Pune",123,"Expert Value","! Easy"
"XYZ","Kol",567,"! Expert value",Easy"
要求:转换到Excel后,我需要E2和D3单元格应 像黄
MyScript.vbs:这需要两个参数执行
cscript C:\Test\MyScript.vbs \\C:\Test\Sample.CSV \\C:\Test\Sample.xlsx
这里是原始脚本
'======================================
' Convert CSV to XLS
'
' arg1: source - CSV path\file
' arg2: target - Excel path\file
'======================================
srccsvfile = Wscript.Arguments(0)
tgtxlsfile = Wscript.Arguments(1)
'Create Spreadsheet
'Look for an existing Excel instance.
On Error Resume Next ' Turn on the error handling flag
Set objExcel = GetObject(,"Excel.Application")
'If not found, create a new instance.
If Err.Number = 429 Then '> 0
Set objExcel = CreateObject("Excel.Application")
End If
objExcel.Visible = false
objExcel.displayalerts=false
'Import CSV into Spreadsheet
Set objWorkbook = objExcel.Workbooks.open(srccsvfile)
Set objWorksheet1 = objWorkbook.Worksheets(1)
'Adjust width of columns
Set objRange = objWorksheet1.UsedRange
objRange.EntireColumn.Autofit()
'This code could be used to AutoFit a select number of columns
'For intColumns = 1 To 17
' objExcel.Columns(intColumns).AutoFit()
'Next
'Make Headings Bold
objExcel.Rows(1).Font.Bold = TRUE
'Freeze header row
With objExcel.ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
objExcel.ActiveWindow.FreezePanes = True
'Add Data Filters to Heading Row
objExcel.Rows(1).AutoFilter
'set header row gray
objExcel.Rows(1).Interior.ColorIndex = 15
'-0.249977111117893
'Save Spreadsheet, 51 = Excel 2007-2010
objWorksheet1.SaveAs tgtxlsfile, 51
'Release Lock on Spreadsheet
objExcel.Quit()
Set objWorksheet1 = Nothing
Set objWorkbook = Nothing
Set ObjExcel = Nothing
嗨,感谢您的代码示例... 这完全符合我的要求。 只是想知道如果我想通过多个搜索值,我会在这里。 也就是说,我的一些单元格值是“不”,“否”,“无”和“!”所以我想突出显示所有这些细胞。 – goldenbutter
提供数据看起来如何的样本 –
看到..我在我的文章中添加了一个示例输出,其中我的单元格值将会是NOT,NO或!那个细胞会变黄 – goldenbutter