QTP 如何调用外部xls,不用手动导入的方法;
QTP 如何调用外部xls,不用手动导入的方法;:dizzy: 求指导。 回复 1# yao2631488我在51空间里写过:
http://www.51testing.com/index.php?uid-307440-action-viewspace-itemid-827863 回复 2# 黑羽祭
老大 函数一般要写在哪里啊 回复 3# 赵佳乐SMILE
这就看你的习惯了我是如果脚本是独立的小脚本,就随便写在Action里,写下面点位置。
如果脚本比较大,就写在独立的vbs里,加载到Library就可以了。
不过在Library里,不能调用Action里的函数。
Library里的函数文件,要注意保存的路径,建议使用相对路径,当脚本移动时不会因找不到文件出错。
Library里的函数也可以使用对象库,只要对象库里存在相应的对象就好了。 回复 4# 黑羽祭
谢谢 学习了
我这两天正好在研究这个 因为我发现 用Local表 维护测试数据好麻烦 嘿嘿 回复 5# 赵佳乐SMILE
DataTable表吗?我早就没用了,用外部Excel吧,处理数据方便多了。 回复 6# 黑羽祭
同感。 回复 2# 黑羽祭
非常感谢,上网找了些都不知道怎么用。。这个直接用函数,方便了许多~:lol :handshake 本帖最后由 赵佳乐SMILE 于 2013-1-6 17:38 编辑
回复 6# 黑羽祭
我没有用你的那个函数
我用的是
'获取参数文件路径
FilePath=Environment("TestDir")&"\测试工程数据.xls"
Set ExcelBook=CreateObject("Excel.Application")
'设置为true的情况,文档会打开
ExcelBook.Visible=false
ExcelBook.DisplayAlerts=false
Set MyExcelBook=ExcelBook.WorkBooks.Open(FilePath)
Set MyExcelSheet=MyExcelBook.Sheets("Sheet1")
'获取Excel表中记录的条数
GetExcelSheetRowsCount=MyExcelSheet.UsedRange.Rows.Count
For i=2 to GetExcelSheetRowsCount
所有操作
Next
ExcelBook.Quit
Set ExcelBook=Nothing 回复 6# 黑羽祭
弱弱的问一下 为啥用QTP跑过的Excel变成 只读的了? 即使关闭了QTP也是 不能修改数据了 回复 9# 赵佳乐SMILE
看看有没有关闭释放创建的Excel 回复 10# 赵佳乐SMILE
我没看出有什么问题,而且,我也试了你写的脚本,我的xls并没有变成只读形式。
唯一不一样的可能我用的是xlsx,但并不影响脚本啊。 回复 12# 黑羽祭
嗯 很奇怪 关了机 今天早上来 又不是只读的了
我看好像说是不支持xlsx 的 所以才用xls的
win7 +QTP11 +IE8 回复 13# 赵佳乐SMILE
支持的,至少用我的方法是支持的,我从QTP10开始就一直用的XLSX。
我现在的环境也是win7+IE8+QTP11.5了。
那个问题解决了就好。稀奇古怪的环境问题。 回复 4# 黑羽祭
再问下大大用你这个函数,要是想循环调用sheet中所有的数据,如何实现啊?{:4_103:} 回复 15# yao2631488
如果你是固定的行和列,用个两层的for循环不就出来了嘛。
如果不是固定的,用个两层Do循环,加个判断为空就换下一行或下一列也可以嘛~(PS:这种的话,数据矩阵中就不能有空格了,空么就写null吧) 回复 14# 黑羽祭
哦 那我也换xlsx试试 哎 今天开月总结会 要往LR方向发展了 回复 17# 赵佳乐SMILE
嗯~加油吧。
要学的东西太多了 回复 17# 赵佳乐SMILE
MyExcelBook.close false
先关闭被EXCEL应用打开的EXCEL文档,再退出EXCEL 试试吧 额,用QTP写exl的时候,我的习惯是先看下有没打开exl,如果有打开则关闭
如果你是要动态加载exl到dataTable里面 可以用这个DataTable.Import(FileName)方法
页:
[1]
2