|
本帖最后由 monalisali 于 2010-9-21 11:23 编辑
大家好:
我在编写一段关于datatable脚本时遇到一个问题,请大家帮我看看错在哪里了。
脚本的原意是在两个“SwfComboBox”中利用随机数任意选择一个搜索条件,然后利用Datatable.LocalSheet.AddParameter 语句在runtime
datatable中分别添加表头以及选择条件的数据。其中,搜索条件的循环次数是由For语句来控制的。 我没有在Keyword view进行过任何关于
datatable的设置,只想完全用脚本来实现datatable的创建,循环等操作。
我的问题:
1) 在For循环内的脚本只进行第一次循环,然后脚本就停止了,即搜索条件只会被执行一次
2) 当不在Keyword view中进行datatable操作时(这样的话当脚本写到关于datatable时,还需要进行相应的录制于datatable的设置,很麻烦
),如何在Expert view中完全用脚本来创建datatable,从而达到参数化某几个控件的目的?
脚本如下,略有点多。其中,For循环为12-57行,两个搜索条件是strkitorgname,strkitorglicense 它们的语句在19-22行
- Set mgbox = CreateObject ("WScript.Shell")
- SwfWindow("食品安全电子化监管系统--城市运行区").Activate
- SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("日常监管子系统").Activate
- SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("日常监管子系统").SwfLabel("选择监管对象").Click
- '***************************************在中心厨房Tab中***************************************************
- SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("监管对象设置").SwfRadioButton("中心厨房").Set
- Set thewindow = SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("监管对象设置")
- Dim subslistcount, yearslistcount
- subslistcount = thewindow.SwfComboBox("厨房区县").GetItemsCount
- yearslistcount = thewindow.SwfComboBox("厨房许可证发证日期").GetItemsCount
- For i = 0 to yearslistcount -1
- thewindow.SwfRadioButton("中心厨房").Set
- Dim randdata, subsdata, licdatedata
- Randomize
- randdata = int (((yearslistcount-1) * Rnd) +1)
- thewindow.SwfComboBox ("厨房区县").Select randdata
- thewindow.SwfComboBox ("厨房许可证发证日期").Select randdata
- subsdata = thewindow.SwfComboBox("厨房区县").GetItem (randdata)
- licdatedata= thewindow.SwfComboBox("厨房许可证发证日期").GetItem (randdata)
- Datatable.LocalSheet.AddParameter "中心厨房区县", subsdata
- Datatable.LocalSheet.AddParameter "中心厨房发证日期", licdatedata
- mgbox.Popup "此时的I="& i & vbnewline &_
- "选择的区县是:"& " " & subsdata & vbnewline &_
- "发证的日期是" & " " & licdatedata, 5, " ",1
-
- 'thewindow.SwfComboBox("厨房区县").Select "闵行"
- thewindow.SwfToolbar("swfname:=bindingNv","swfname
- path:=bindingNv;pnlToolbar;organizationSearchControl2;pnlCntKitchen;OrganizationDialog").Press "查询"
- Set KitTable = SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("监管对象设置").SwfTable
- ("swfname:=dgvOrganizationList","swfname
- path:=dgvOrganizationList;organizationSearchControl2;pnlCntKitchen;OrganizationDialog")
- Dim intkitrowcount,randomrow
- Dim strkitorgname, strkitorglicense
- intkitrowcount = KitTable.RowCount
- Randomize
- randomrow = int (((intkitrowcount-1) * Rnd)+1)
- 'KitTable.SelectRow randomrow
- KitTable.SelectCell randomrow, "企业名称"
- strkitorgname = KitTable.GetCellProperty (randomrow, "企业名称","Value")
- strkitorglicense = KitTable.GetCellProperty(randomrow, "许可证号", "Value")
- mgbox.Popup "现在选择的是第" & randomrow & vbnewline &_
- "企业名称:"&" "&strkitorgname&vbnewline &_
- "许可证号码:"& " "&strkitorglicense, 3, " ", 1
- thewindow.SwfButton("加入我的监管对象").Click
- '***************************************在中心厨房Tab中***************************************************
- '************************************在我的监管对象Tab中************************************************
- Set MyFav = SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("监管对象设置")._
- SwfTable("swfname:=dgvOrganizationList","swfname
- path:=dgvOrganizationList;organizationSearchControl0;pnlMyFavourate;OrganizationDialog")
- thewindow.SwfRadioButton("regexpwndtitle:= 我的监管对象","swfname path:= rdoFavorite;panel1;OrganizationDialog"). Set
- GeneralAddedCheck MyFav,strkitorgname,strkitorglicense
- thewindow.close
- SwfWindow("食品安全电子化监管系统--城市运行区").Activate
- SwfWindow("食品安全电子化监管系统--城市运行区").SwfWindow("日常监管子系统").Activate
- Next ' For i = 0 to yearslistcount -1 结束
- Function GeneralAddedCheck(tableobj,orgname,orglicense)
- Set dictable = CreateObject ("Scripting.Dictionary")
- Dim tablearray(1,0)
- Dim genstrkey, gengetname, gengetlicense,rownum,getrowdata
- Dim boolcheck
- boolcheck = false
- rownum = tableobj.RowCount
-
- For i = 0 to rownum -1
- gengetname = tableobj.GetCellProperty (i,"企业名称", "Value")
- gengetlicense = tableobj.GetCellProperty (i, "许可证号","Value")
- tablearray (0,0) = gengetname
- tablearray (1,0) = gengetlicense
- genstrkey = tablearray (1,0)
- dictable.Add genstrkey, tablearray
- getrowdata = dictable.Item(genstrkey)
- mgbox.Popup "当前选中的是第"& i &"行"&vbnewline&_
- "企业名:"& getrowdata(0,0)& vbnewline &_
- "许可证号:" & getrowdata(1,0) & vbnewline, 5, "当前数据", 1
-
- If orgname = getrowdata(0,0) and orglicense = getrowdata(1,0) Then
- mgbox.Popup "被添加的数据如下" & vbnewline &_
- "企业名:" & " " & getrowdata(0,0) & vbnewline &_
- "许可证号:" & " " & getrowdata(1,0), 5, "一般化的SearchData方法
- ", 1
- Reporter.ReportEvent micPass, "一般化的SearchData方法_添加到我的监管对象", "成功!!!!"
- boolcheck = true
- End If
- If i = rownum -1 and boolcheck = false Then
- mgbox.Pop "失败", 3, " ",1
- Reporter.ReportEvent micPass, "一般化的SearchData方法_添加到我的监管对象", "失败囧囧囧囧"
- End If
- Next
- End Function
- '************************************在我的监管对象Tab中************************************************
复制代码 |
|