使用活动工作表的 1 行或 1 列数据创建数组.
#Include <Excel.au3>
_ExcelReadArray($oExcel, $iStartRow, $iStartColumn, $iNumCells [, $iDirection = 0 [, $iIndexBase = 0]])
$oExcel | 由前面调用 _ExcelBookOpen() 或者 _ExcelBookNew() 函数返回的 Excel 对象 |
$iStartRow | 开始读取行 |
$iStartColumn | 开始读取列 |
$iNumCells | 读取单元格数量 |
$iDirection | [可选参数] 单元格的读入方向 (0 = 水平向右, 1 = 垂直向下) |
$iIndexBase | [可选参数] 数组索引基于 0 还是基于 1 |
成功: | 返回包含指定单元格内容的数组 |
失败: | 返回 0, 并设置 @error: |
@error: | 0 - 无错误 |
1 - 指定的对象不存在 | |
2 - 参数超出范围 | |
3 - 无效单元格数量 | |
4 - 无效方向参数 | |
@extended: | 0 - 行数超出范围 |
1 - 列数超出范围 |
; ***************************************************************
; 示例 1 - 打开一个工作簿并返回其对象标识符后, 在循环中写入内容到单元格. 读取单元格内容到数组中, 显示数组,
; 然后保存并关闭文件.
; *****************************************************************
#include <Excel.au3>
#include <Array.au3>
Local $oExcel = _ExcelBookNew() ;创建新工作簿, 并使其可见
For $i = 1 To 5 ;循环
_ExcelWriteCell($oExcel, $i, $i, 1) ;把数值 1 到 5 垂直写入单元格
Next
For $i = 1 To 5 ;循环
_ExcelWriteCell($oExcel, Asc($i), 1, $i + 2) ;水平写入单元格, 使用 Asc 得到不同值用于读取
Next
Local $aArray1 = _ExcelReadArray($oExcel, 1, 1, 5, 1) ;方向是水平的
Local $aArray2 = _ExcelReadArray($oExcel, 1, 3, 5) ;方向是垂直的
_ArrayDisplay($aArray2, "Horizontal")
_ArrayDisplay($aArray1, "Vertical")
MsgBox(4096, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 现在我们把它保存到临时目录; 必要时覆盖文件
_ExcelBookClose($oExcel) ; 最后我们关闭并退出