|
将DW数据窗口导出为EXCEL文件的方法(整理)(17) list=ls_objects EndPos = pos(list, '~t', StartPos) //得到对象列表 Do while ( EndPos > 0 ) token[i] = Mid(list, StartPos, EndPos - StartPos) i ++ StartPos = EndPos + 1 EndPos = pos(list, '~t', StartPos) LOOP token[i] = Mid(list, StartPos) ll_rownum=UpperBound(token) for i=1 to ll_rownum ls_obj = token[i] if ls_obj='title' then messagebox('',adw.Describe(ls_obj + '.type')) if lower(adw.Describe(ls_obj + '.type')) = 'column' or & lower(adw.Describe(ls_obj + '.type')) = 'compute' then ls_bind=lower(adw.Describe(ls_obj + '.band')) if ls_bind = 'detail' then ll_num += 1 ls_objs[ll_num] = ls_obj if li_crosstab=0 then //一般处理 ls_objtag[ll_num] = adw.Describe(ls_obj + '_t.text') elseif li_crosstab=1 then //交叉表处理 li_pos=lu_string.of_lastpos(ls_obj,'_',len(ls_obj))//找出最后一次出现'_'的位置 if li_pos=0 or (not isnumber(mid(ls_obj,li_pos+1))) then //不是交叉列 ls_objtag[ll_num] = adw.Describe(ls_obj + '_t.text') else ls_temp=mid(ls_obj,li_pos) ls_crosstabcol=mid(ls_obj,1,li_pos - 1)//取出交叉列名 // messagebox('',ls_crosstabcol+',,,,'+ls_temp) ls_objtag[ll_num]=adw.Describe( ls_crosstabcol + "_t"+ls_temp+".Text" )//取出交叉表的题头 end if end if elseif (ls_bind = 'summary') then ll_sumnum += 1 ls_sum[ll_sumnum] = ls_obj ls_sumtag[ll_sumnum] = adw.Describe(ls_obj + '.tag') else ll_headnum += 1 ls_head[ll_headnum] = ls_obj ls_headtag[ll_headnum] = adw.Describe(ls_obj + '.tag')
|