|
在测试框架很大的情况下,一个小错误都可能花掉你几个小时的时间去找问题,今天我就遇到了,大家如果以后遇到可以少花点时间了,在一些函数中创建了SQL链接,函数中又调用
了其他函数,其他函数又需要打开些文件进行操作,结果一直报错,一步步跟踪调试找到了原因,EXCEL重复打开不会出错、重复创建链接也不
会出错,但如果创建了链接没释放又要打开此文件就会报错。
先看一段代码:
'赋值
ExcelFileFullName = "C:\test.xlsx"
sheet = "test"
'创建链接
Set RTCconn= createobject("ADODB.Connection")
RTCconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&ExcelFileFullName&";Extended Properties=Excel 8.0"
sql= "SELECT * FROM ["&sheet&"$]"&""
Set RecSet = RTCconn.Execute(sql)
'打开EXCEL文件
Set objExcel = CreateObject("Excel.Application")
Set fExcel = objExcel.Workbooks.Open(ExcelFileFullName)
运行此段代码会报错,错误内容为“Excel 无法打开文件“test.xlsx”,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展
名与文件的格式匹配。”
此错误的原因是因为我们创建了SQL链接但没有释放,接下来又需要打开此EXCEL表格,而此EXCEL表格在创建了SQL链接后就被锁住了,再打开
就会报错,解决些问题的办法是要在打开EXCEL新把链接先关掉(RTCconn.Close)。 |
|