找回密码
 加入
搜索
查看: 7283|回复: 15

[AU3基础] _ExcelReadSheetToArray读取含有#REF的excel表格出错的问题

  [复制链接]
发表于 2015-4-21 10:27:28 | 显示全部楼层 |阅读模式
#include <Excel.au3>
#include <Array.au3>
Local $sFilePath1 = @ScriptDir & "\测试.xlsx" ;这个文件应该已经存在
Local $oExcel = _ExcelBookOpen($sFilePath1)

Local $aArray = _ExcelReadSheetToArray($oExcel) ;使用默认参数
_ArrayDisplay($aArray, "使用默认参数")
_ExcelBookClose($oExcel) ; 关闭工作表, 退出

_ExcelReadSheetToArray这个函数读某个表格总是使au3无响应而退出,后来发现是表格内有公式错误引起的,附件内有测试脚本和Excel文档,请教如果不修改excel如何避免这类错误

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-4-21 10:39:31 | 显示全部楼层




只是读不出来而已,不会报错,也不会死掉

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-4-21 10:42:19 | 显示全部楼层
MsgBox(0,0,$oExcel.ActiveSheet.range("A1").value)
上面的返回值是0
 楼主| 发表于 2015-4-21 10:47:41 | 显示全部楼层
好奇怪,我这脚本都卡死了
 楼主| 发表于 2015-4-21 10:51:15 | 显示全部楼层

AU3的版本问题吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2015-4-21 10:52:42 | 显示全部楼层
回复 3# ap112


    你的Au3什么版本啊
发表于 2015-4-21 11:17:06 | 显示全部楼层
貌似现在的excel udf还不支持xlsx格式
 楼主| 发表于 2015-4-21 11:24:45 | 显示全部楼层
回复 7# netegg


    我用xls格式 也阵亡了
 楼主| 发表于 2015-4-21 11:38:37 | 显示全部楼层

换了个EXCEL文档  再把ExcelReadSheetToArray 提取出来运行到
Local $aArray = $oExcel.ActiveSheet.Range($oExcel.Cells($iStartRow, $iStartColumn), $oExcel.Cells($iLastRow, $iLastColumn)).Value
就死了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-4-21 12:43:17 | 显示全部楼层
那就等kevinch吧
发表于 2015-4-21 12:44:32 | 显示全部楼层
或者试试排错
发表于 2015-4-21 13:21:04 | 显示全部楼层
v3.2.12.0


你有什么需求,也许可以换一个思路
 楼主| 发表于 2015-4-21 13:39:30 | 显示全部楼层
回复 12# ap112

要用公式处理Excel里的数据,用VBA编程也可以,但GUI和对多个Excel的处理上不是那么顺手
所以想把Excel里的数据复制出来,用AU3就方便多了,可碰到错误公式,脚本就罢工了
论坛里下载不到3.2.12.0这个版本了,把你的打包发给我吧,406841895@qq.com 谢谢啦
 楼主| 发表于 2015-4-22 04:47:39 | 显示全部楼层
下载了3.2.13.10 这个版本,可以运行,但对上千行Excel的处理能力就不如新版了,可能是新版本更新数组的原因吧
发表于 2015-4-22 19:03:21 | 显示全部楼层
本帖最后由 kevinch 于 2015-4-22 19:05 编辑

久也不用03版的excel,无法模拟出错误也就没办法处理
不过你可以试一下下面的方式会不会卡死
Local $aArray = $oExcel.ActiveSheet.Cells($iStartRow, $iStartColumn).resize($iLastRow-$iStartRow+1, $iLastColumn-$iStartColumn+1).Value
如果正常的话,当单元格数量大于1个的时候你会得到一个二维数组,不过行列与excel里是相反的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-9 20:48 , Processed in 0.088581 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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