51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1773|回复: 1
打印 上一主题 下一主题

[原创] VBS 调用了两个excel功能的function 后, 第二个提示路径出错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-8 10:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本如下:
运行到QTP_read_Excel(pathway,sheetname,x,y)的时候,提示 could not find the file,实际上是可以找到的,因为我单独运行任何一个关于excel的function都成功,请问改怎么处理

call driver()
call QTP_read_Excel(pathway,sheetname,x,y)
call QTP_RowCount_Excel(pathway,sheetname)
'++++++++++++++driver()++++++++++++++
public function driver()
dim QtApp
dim Status
dim caseName
dim x,oRowCount
set QtApp=createobject("QuickTest.Application")
QtApp.launch
QtApp.visible=true
oRowCount=QTP_RowCount_Excel("E:\DailyWork\2011\08\UMASSScript\Data\Control.xls","PersonDetails")
wscript.sleep(20)
for  x=1 to oRowCount
'Call QTP_read_Excel("E:\Control.xls","PersonDetails",x,1)
Status=QTP_read_Excel("E:\DailyWork\2011\08\UMASSScript\Data\Control.xls","PersonDetails",x,1)
If Status="Y" Then
        caseName=Status=QTP_read_Excel("E:\DailyWork\2011\08\UMASSScript\Data\Control.xls","PersonDetails",x,4)
        QtApp.open caseName
        QtApp.Test.Run ,true
        QtApp.Test.Close
        end if
next
QtApp.quit
set QtApp=Nothing
end function
'++++++++++++++++++++++++QTP_read_Excel(pathway,sheetname,x,y)++++++++++++++
Public Function QTP_read_Excel(pathway,sheetname,x,y)
Dim oExcel,oWorkBook,ovalue
set oExcel=createobject("Excel.application")
oExcel.Visible=false
Set oWorkBook=oExcel.Workbooks.Open(pathway)
oWorkBook.worksheets(sheetname).activate
ovalue=oWorkBook.worksheets(sheetname).cells(x,y).value
oExcel.Workbooks.Close
QTP_read_Excel=ovalue
set oWorkbook=nothing
set oExcel=nothing
End function
'++++++++++++++++++++++++QTP_RowCount_Excel(pathway,sheetname)++++++++++++++
public function QTP_RowCount_Excel(pathway,sheetname)
dim oExcel,oWorkbook,oSheet,oRowCount
set oExcel=createobject("Excel.application")
set oWorkbook=oExcel.workbooks.open(pathway)//这里提示找不到pathway
set oSheet=oWorkbook.Sheets(sheetname)
oRowCount=oSheet.usedrange.rows.count
oWorkbook.Save
oExcel.Workbooks.Close
oExcel.quit
QTP_RowCount_Excel=oRowCount
set oSheet=Nothing
set oWorkbook=nothing
set oExcel=nothing
end function
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-12-30 17:04:37 | 只看该作者
建议断点调试下,文件名值是否正常。如果正确,可在方法内加:将oWorkbook.Close 加上;第二观察执行完了第一个方法后,是不是还有excel进程在,如果在的话说明第一个方法读完没有关闭。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-27 07:23 , Processed in 0.085830 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表