वीबीस्क्रिप्ट में सेल वैल्यू पर आधारित रंग एक्सेल - एक्सेल, वीबीए, सीएसवी, वीबीएसक्रिप्ट

मेरे पास एक वीबीएस है जो मेरे सीएसवी को एक्सेल में परिवर्तित करता है। अब मेरे सीएसवी में कुछ पात्र हैं जैसे "!" मैं उस सेल पर पीला रंग देना चाहता हूं जिसमें एक्सेल में परिवर्तित होने के बाद वह चरित्र हो।

नमूना.सीएसवी:

 Name,Location,Phone,Comment1,Comment2
"ABC","Pune",123,"Expert Value","! Easy"
"XYZ","Kol",567,"! Expert value",Easy"

आवश्यकता: एक्सेल में कनवर्ट करने के बाद, मुझे ई 2 और डी 3 सेल की आवश्यकता होनी चाहिए पीला के रूप में हो

MyScript.vbs: निष्पादित करने के लिए दो तर्क की आवश्यकता है

cscript C:TestMyScript.vbs \C:TestSample.CSV \C:TestSample.xlsx

मूल लिपि यहाँ है

"======================================
" Convert CSV to XLS
"
" arg1: source - CSV pathfile
" arg2: target - Excel pathfile
"======================================

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

यहां छवि विवरण दर्ज करें

उत्तर:

उत्तर № 1 के लिए 1

अपने कोड में नीचे "लूप" लूप शामिल करें। यह "!" की खोज करेगा और सेल पीले रंग। मैंने इसे नोटपैड ++ संपादक में कोड किया है। इसलिए, आपको कुछ डिबगिंग की आवश्यकता हो सकती है।

"set header row gray
objExcel.Rows(1).Interior.ColorIndex = 15
"-0.249977111117893

For intRowCounter = 2 to objWorksheet1.usedRange.Rows.Count "Skip header row
For intColumnCounter = 1 to objWorksheet1.usedRange.Columns.Count
If instr(1, objWorksheet1.Cells(intRowCounter, intColumnCounter).Value, "!", 1) > 0 Then
objWorksheet1.Cells(intRowCounter, intColumnCounter).Interior.ColorIndex = 6 "Shade of Yellow 27, 44 , 36 also can be used
End If
Next
Next


"Save Spreadsheet, 51 = Excel 2007-2010
objWorksheet1.SaveAs tgtxlsfile, 51

संबंधित सवाल
सबसे लोकप्रिय