从事建筑行业的人都知道清单的输入格式,在这里我也简单介绍一下。
十二位的清单格式:
两位专业号+两位章号+两位节号+三位小节号+三位流水号,如01 01 01 001 001(为了从视觉上看到不同位的意义,我把一个标准的清单用空格分隔开了,正常的清单号是没有空格分隔的)。不同专业、章、节、小节可以组合出不同的清单,最后一位流水号起到区分同一清单的作用,即为010101001001与010101001002是同一清单,只是用户流水号不同,因为一份预算书中不允许有完全相同的清单出现。
作为自动化输入大量清单我首先想到的就是使用Robot的DataPool。从EXCEL制作大量清单并保存为CSV文件,导入到DataPool中进行循环输入。但这里我遇到一个问题:保存为CSV格式后清单号的第一个0被抹掉了(直接在CSV文档中输入010101001001,保存后第一个0还是会被清除),这样导入到DataPool后清单号都变成十一位了,这不是标准清单!解决办法就是手工在DataPool中添加,但对于大量保存在DataPol中的清单这样的修改是不可行的。于是只能放弃。
另一种办法就是使用循环,将清单号如上面的格式拆分,分别对专业、章、节、小节、流水号进行循环,最后再组合成为一个标准的清单输入。但这里还有一个小问题,如我对三位小节号从1循环到10,最后怎样让其输出格式为001~010。其实很简单,使用format函数。简单代码如下:
Sub Main
Dim Result As Integer
Dim zhuan,zhang,jie,liu as integer
Dim qing as string
'Initially Recorded: 2006-11-15 21:35:34
'scrīpt Name:
for jie = 1 to 5
for liu = 1 to 5
qing = "01" + "01" + "01" + Cstr(format(jie,"000")) + Cstr(format(liu,"000"))
InputKeys qing
InputKeys "{DOWN}"
next liu
next jie
End Sub
这是一个再简单不过的循环语句,但是效果却很不错。由此可见我们不见得非要采用“高新技术”解决所有问题,最适用最简单的方法就是最好的。
文章来源于领测软件测试网 https://www.ltesting.net/