アクティブなワークシートの行/列から2次元配列を作成します。
#Include <Excel.au3>
_ExcelReadSheetToArray($oExcel [, $iStartRow = 1 [, $iStartColumn = 1 [, $iRowCnt = 0 [, $iColCnt = 0 [, $iColShift = False]]]]])
パラメータ
$oExcel | _ExcelBookOpen()か_ExcelBookNew()の呼び出しで開かれているExcelオブジェクト |
$iStartRow | [オプション]読み込み開始行番号。デフォルトは1(最初の行) |
$iStartColumn | [オプション]読み込み開始列番号。デフォルトは1(最初の列) |
$iRowCnt | [オプション]読み込む行数。デフォルトは0(全て) |
$iColCnt | [オプション]読み込む列数。デフォルトは0(全て) |
$iColShift | [オプション]Excelから配列が返される際、配列の列インデックスを0始まりにするか1始まりにするか決定します。デフォルトはR1C1値と一致するようFalseです。 |
返し値
Success: | 指定したセルの内容を持つ2次元配列を[$row][$col]形式で返します |
Failure: | 0を返し@errorに値を設定します |
@error: | 0 - 正常終了 |
1 - 指定されたオブジェクトが存在しません | |
2 - 範囲外の開始パラメータです | |
3 - 読み込み数パラメータが範囲外です | |
@extended: | 0 - 行数が範囲外です |
1 - 列数が範囲外です |
注意
返される配列の[0][0]には行数が、[0][1]には列数が保存されています。
関連
例
; ******************************************************************************************
; 例 1 - ワークブックを開きオブジェクト識別子取得後、
; セルのいくつかを埋め、いろいろなパラメータで値を配列に読み込む。
; ******************************************************************************************
#include <Excel.au3>
#include <Array.au3>
Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示
; いくつかのセルを単純なループと乱数を使って埋める
For $y = 1 To 10 ;1列目から開始
For $x = 1 To 15
_ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ;ファイルにある乱数を書き込む
Next
Next
$aArray = _ExcelReadSheetToArray($oExcel) ;デフォルトのパラメータを使用
_ArrayDisplay($aArray, "Array using Default Parameters")
$aArray = _ExcelReadSheetToArray($oExcel, 2) ;2行目から開始
_ArrayDisplay($aArray, "Starting on the 2nd Row")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 2) ;2列目から開始
_ArrayDisplay($aArray, "Starting on the 2nd Column")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 5) ;5行読み込む
_ArrayDisplay($aArray, "Read 5 Rows")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 2) ;2列読み込む
_ArrayDisplay($aArray, "Read 2 Columns")
$aArray = _ExcelReadSheetToArray($oExcel, 2, 3, 4, 5) ;2行目、3列目から4行、5列読み込む
_ArrayDisplay($aArray, "Starting on the 2nd Row, 3rd Column, Read 4 Rows and 5 Columns")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 0, True) ;列のシフト(True)を除き、デフォルトパラメータを使用
_ArrayDisplay($aArray, "Array with Column shifting")
MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ;閉じて終わり