Excel VBA脚本辅助编辑
不得不承认今天抽了自己一个大嘴巴。Visual Basic(简称VB),这门一直不当回事的语言。之前只用来写写游戏辅助。这门被认为难登大雅之堂的语言,今天给我好好上了一课。
事情的场景:这几天一直在整理需求文档。各种Word,各种Excel。当然程序猿是不会看文档的。一群程序猿围着文档编程序。各种复制粘贴,各种查找替换都希望程序来实现。我负责Excel部分,用jxl.jar处理各种逻辑。结果却是各种鸡飞狗跳。各种格式不匹配,各种异常,各种遗漏。一次次被打回。最后人手整理。
有趣的事情出现了。 Excel的各种公式明显比程序的接口好用。统计方面顺利完成。剩下的各种操作,染色,删除,拆分、合并......我开始打宏的主意了。其实就是VBA。录一段,改一段,查查文档。关键步骤很快实现了。再细分封装。脚本完成。远比其他语言简单明了。还省了开发环境。VB和office凑在一起才能发挥最佳水平。并不是语言没用,而是我们不会使用。
我想以后处理文档将是一项有趣的事情。
一段简单的染色脚本:
[vb]
Sub 序号染色()
'
' 宏1 宏
'
'
Dim arr1
arr1 = Array("438", "563", "564", "751", "752", "753", "754", "824", "825", "826", "827", "828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", "842", "843", "844", "845", "846", "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", "858", "859", "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", "870", "871")
循环染色 (arr1)
End Sub
Sub 染色(n)
For a = 3 To 2200
Range("A" + CStr(a)).Select
If ActiveCell.FormulaR1C1 = n Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next a
End Sub
Sub 循环染色(arr)
For Each n In arr
染色 (n)
Next
End Sub
补充:软件开发 , Vb ,