51Testing软件测试论坛

标题: QTP中如何实现删除EXCEL的某几行 [打印本页]

作者: milo.jiang    时间: 2007-8-22 22:13
标题: QTP中如何实现删除EXCEL的某几行
在EXCEL的VBA中可以直接通过objSheet.Rows(i).delete实现删除某行,可是在QTP中却无法运行以上脚本,请教高手如何能够实现?
作者: walker1020    时间: 2007-8-23 00:47
为什么要删除某几行的数据? 要知道脚本里面要用到这些数据呢。实在 不行就手动删除吧
作者: hsjzfling    时间: 2007-8-23 02:04
把删除行的代码完整的写在VBS中,然后用QTP执行Executefile "..\xxx.vbs",这样应该能达到目的,尝试下吧~
作者: yuandjing    时间: 2007-8-23 08:31
我可以提供一个自己写的删除vbs的函数
'写Excel文件元素并保存退出
Public Function QTP_Write_Excel(pathway,sheetname,x,y,content)
        Dim srcData,srcDoc,sp1,sp2,num,use,a1,a2,a3
        set srcData = CreateObject("Excel.Application")
        srcData.Visible = True
        set srcDoc = srcData.Workbooks.Open(pathway)
        srcDoc.Worksheets(sheetname).Activate
        srcDoc.Worksheets(sheetname).Cells(x,y).value = content
       
        sp1 = Split(pathway,".")
        sp2 = Split(sp1(0),"\")
        num = UBound(sp2)
        use = sp2(num)

        Set a1 = Description.Create()
        a1("text").value="Microsoft Excel - " + use + ".xls"
        a1("window id").value="0"

        Set a3 = Description.Create()
        a3("Class Name").value="WinObject"
        a3("text").value= use + ".xls"

        Window(a1).WinObject(a3).Type micCtrlDwn + "s" + micCtrlUp

        srcData.Workbooks.Close
        Set srcDoc = nothing
       
        Window("text:=Microsoft Excel").Close
End Function
作者: yuandjing    时间: 2007-8-23 08:32
删除就是写入空值就可以了
如果脚本跑到Window(a1).WinObject(a3).Type micCtrlDwn + "s" + micCtrlUp就停了,请把
a1("text").value="Microsoft Excel - " + use + ".xls"
a3("text").value= use + ".xls"
改为
a1("text").value="Microsoft Excel - " + use
a3("text").value= use
就可以了
因为EXCEL版本不同
作者: milo.jiang    时间: 2007-8-23 09:07
谢谢大家的指点,我尝试一下以上方法,再将可行方法的实例附上,谢谢
作者: bobile    时间: 2007-8-23 09:54
说的不是很详细了
作者: v_v    时间: 2007-8-26 01:04
标题: 回复 #6 milo.jiang 的帖子
期待中。。。。
作者: nkzyb    时间: 2007-8-26 09:29
我一般都是手动删除来修改数据表格的,那样也挺快的
作者: sstars    时间: 2007-8-26 21:48
....
Set xsl= CreateObject("Excel.Application")
xsl.Application.DisplayAlerts = False
Set workbook= XLApp.Workbooks.Open("d:\ab.xls",readOnly=False)
workbook.Sheets("Sheet1").Rows(1).delete
...
作者: 450683057    时间: 2012-9-26 17:43
'清空Excel中数据
        Set  ExcelObj=CreateObject("Excel.Application")
        xlsUrl="D:\QTP—数据中心\TestDate\OrderDate.xls"
    '打开工作表
        ExcelObj.Workbooks.Open(xlsUrl)
        '清空工作表中数据
        Set oSheet =ExcelObj.ActiveSheet
        FOR i=30 TO 1 STEP -1
        osheet.Rows(i).delete
        Next
    Set Shell = CreateObject("WScript.Shell")        
          Set ShellResult = Shell.Exec("TaskList")




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2