公司的短信群发平台的号码列表是从文本文件中导入的,而公司的会员资料则是Excel格式,按区域分成了工作表!
所以这里就需要遍历每一个工作表,然后将手机号码字段提取出来!
至于输出到文本文件,我则取巧,通过重定向直接输出了!
下面是完整的VBS脚本代码及命令行的批处理代码:
代码的功能,在代码里都有较详细的注释
[codes=vb]
‘ 通过Excel表格里的信息
‘ 生成短信群发的手机号码列表
‘ 读取的Excel表格文件路径通过参数传递进来
‘
‘ Write By IAwen 2011-01-14
If WScript.Arguments.Count=1 Then
infoListXLS=WScript.Arguments(0) ‘信息列表Excel文件名
‘打开excel
Set objExcel = CreateObject(“Excel.Application”)
Set objWorkbook = objExcel.Workbooks.Open(infoListXLS)
objExcel.Visible=false
intSheet=1
‘WScript.Echo objWorkbook.Worksheets.Count
Do Until intSheet>objWorkbook.Worksheets.Count
Set xSheet=objWorkbook.Worksheets(intSheet)
‘输出当前工作表名
‘WScript.Echo xSheet.Name
‘从当前工作表的第二行开始读取
intRow = 2
‘开始循环读取,直到第1列为空时退出循环
Do Until xSheet.Cells(intRow,1).Value = “”
‘取得手机号
mbr=xSheet.Cells(intRow,10).Value
If mbr<>“” And len(mbr)=11 Then
WScript.Echo mbr
End If
intRow = intRow + 1
Loop
intSheet = intSheet + 1
Loop
‘退出Excel
objExcel.Quit
Else
Wscript.Echo “CScript 执行脚本 Excel表格文件路径 “
Wscript.Echo “example: CScript GetMobNum.vbs Excel.xls “
End If
CScript GetMobNum.vbs "E:\英格蜜儿\广州IM会员资料\广州IM会员资料.xls"
然后在命令行下输入:
BathExecute.bat >> Demo.txt
结果就保存到了文本文件里了,OK!(手机号码没有严格的验证就正确与否,只是保证了必须是16位)
有没有生成的效果啊