FLY000 发表于 2009-2-9 16:14:17

DATATABLE里的列名作为变量?

For i= 1 to nRowAdd
    'Call InitDatatable(add,nRowAdd,nColumnAdd)
        DataTable.Getsheet("add").SetCurrentRow(i)
        ClickDep=DataTable.Value("ClickDep","add")       
        OrgId=DataTable.Value("OrgId","add")       
        OrgName=DataTable.Value("OrgName","add")       
        OrgParid=DataTable.Value("OrgParid","add")       
        IfEnable=DataTable.Value("IfEnable","add")
        Ifjc=DataTable.Value("Ifjc","add")
        Resumer=DataTable.Value("Resumer","add")       
        Tel=DataTable.Value("Tel","add")
        Memo=DataTable.Value("Memo","add")       
        IfBlank=DataTable.Value("IfBlank","add")       
        IfDrop=DataTable.Value("IfDrop","add")       
        ExpectedResults=DataTable.Value("ExpectedResults","add")
end for
我想把以上这段程序写成一个函数,DATATABLE的列名作为变量,取该列对应的值赋给该变量,并且这些变量值都要返回。
下面这段代码,我知道不对,但是要改成什么样?
Function InitDatatable(SheetName,CurrentRow,nColumn)
        DataTable.GetSheet(SheetName).SetCurrentRow(CurrentRow)
        For i=1 to nColumn
                pName=DataTable.GetSheet(SheetName).GetParameter(i).Name       
                pName=DataTable.Value(pName,SheetName)
                return pName
        Next
End Function

[ 本帖最后由 FLY000 于 2009-4-30 10:11 编辑 ]

zte_boy 发表于 2009-2-10 09:09:03

列也是可以通过序列来操作的。
如:第一列是ClickDep
既可以ClickDep=DataTable.Value("ClickDep","add")
也可以ClickDep=DataTable.Value(1,add")
所以只要做循环就可以了

dreamever 发表于 2009-2-10 09:10:42

楼主不地道,明明问的是QTP的datatable,但是标题写的却是excel,把我骗进来了
:lol

FLY000 发表于 2009-2-10 18:54:49

SORRY,我晕了,写错了。
关键是这一句:
pName=DataTable.GetSheet(SheetName).GetParameter(i).Name
我想取每列的列名DataTable.GetSheet(SheetName).GetParameter(i).Name,作为一个变量。

FLY000 发表于 2009-4-30 10:10:22

不知道,我的意思说明白了没:L
页: [1]
查看完整版本: DATATABLE里的列名作为变量?