千里之行始如足下,我们最重要的是脚踏实地的去做去积累
QTP操作Excel的一个错误:"Excel 无法打开文件......"
上一篇 /
下一篇 2009-07-31 17:19:01
/ 个人分类:功能自动化测试
查看( 2923 ) /
评论( 6 )
在
测试框架很大的情况下,一个小错误都可能花掉你几个小时的时间去找问题,今天我就遇到了,大家如果以后遇到可以少花点时间了,在一些函数中创建了
SQL链接,函数中又调用
51Testing软件测试网"J|8qc'y&g7{2{qc4@_4r'DV6f0了
其他函数,其他函数又需要打开些文件进行操作,结果一直报错,一步步跟踪调试找到了原因,EXCEL重复打开不会出错、重复创建链接也不
51Testing软件测试网L0Qo ?*NZ3b8uhY51Testing软件测试网!h'x Nkq:r7z_会出错,但如果创建了链接没释放又要打开此文件就会报错。
'qYwNH*{0@ Uw"oX"i0先看一段代码:
51Testing软件测试网 `jy8E"D0uJ'赋值
51Testing软件测试网
qg]/? R:OF$] EwExcelFileFullName = "C:\test.xlsx"
51Testing软件测试网Q2@:[
` u}tsheet = "
test"
+amqN&J9K'q&tp4{1c0'创建链接
51Testing软件测试网enB
lJ9B'?mnSet RTCconn= createobject("ADODB.Connection")
51Testing软件测试网
B]\$n[^wEhRTCconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&ExcelFileFullName&";Extended Properties=Excel 8.0"
51Testing软件测试网)viV{-Sdtsql= "SELECT * FROM ["&sheet&"$]"&""
ZO b.ia
U]](FWW0Set RecSet = RTCconn.Execute(sql)
c eON6Q,Lr0'打开EXCEL文件
)EY
ns'OK0Set bjExcel = CreateObject("Excel.Application")
So:i~3h n[|0Set fExcel = objExcel.Workbooks.Open(ExcelFileFullName)
51Testing软件测试网V lUHR+cz51Testing软件测试网:m|9T,z-G{YgP运行此段代码会报错,错误内容为“Excel 无法打开文件“test.xlsx”,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展
D };A}%pv'_"M V6} U051Testing软件测试网_2g*wB#Z(o._v名与文件的格式匹配。”
t^-rT3]s051Testing软件测试网%{T6JFb此错误的原因是因为我们创建了SQL链接但没有释放,接下来又需要打开此EXCEL表格,而此EXCEL表格在创建了SQL链接后就被锁住了,再打开
BOt6x0v;\6O0)wm$?\ [.uG0就会报错,解决些问题的办法是要在打开EXCEL新把链接先关掉(RTCconn.Close)。
论坛模式
推荐
收藏
分享给好友
管理
TAG:
-
cherryqxh
发布于2009-08-04 11:53:34
-
受教了,楼主啥时候发布你那强大的框架呀,我可是天天都来蹲点哦
-
wshyzhywx
发布于2009-08-04 13:57:38
-
遇到过这个问题 初始化下Excel也可以解决的
-
vernzhang1980发布于2009-08-04 15:18:17
-
test.xlsx? xlsx?
-
onlonely
发布于2009-08-28 14:19:45
-
呵呵,我也发现了这个现象,
&yGw]a
}$J
d!B软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具重复打开(不关闭)就会报错.
-
whoamiyaya
发布于2009-08-28 21:55:48
-
哈,学习了,谢谢lz
-
kaidong12发布于2009-09-05 00:35:08
-
楼主习惯不好,用完一个对象之后释放内存或者句柄是常识