Function Reference

_ExcelSheetList

ワークブック内の全てのシートの名前をリスト化し、配列で返します。

#Include <Excel.au3>
_ExcelSheetList($oExcel)

 

パラメータ

$oExcel _ExcelBookOpen()か_ExcelBookNew()の呼び出しで開かれているExcelオブジェクト

 

返し値

成功: ワークブック内のシート名を格納した配列を返します(0番目の要素にはシート数が格納されています)
Failure: 0を返し@errorに値を設定します
@error: 0 - 正常終了
1 - 指定されたオブジェクトが存在しません

 

注意

なし。

 

関連

 


; ***************************************************************
; 例 1 - ワークブックを開きオブジェクト識別子取得後、ワークブック内の全シート名を持つ配列を作成・表示
; *****************************************************************
#include <Excel.au3>
#include <Array.au3>

Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示

$aArray = _ExcelSheetList($oExcel)
_ArrayDisplay($aArray, "All The WorkSheets In this WorkBook")

MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり

; ***************************************************************
; 例 2 - ワークブックを開きオブジェクト識別子取得後、ワークブック内の全シート名を持つ配列を作成
;              その後、名前文字列で各シートをアクティブ化
; *****************************************************************
#include <Excel.au3>

Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示

$aArray = _ExcelSheetList($oExcel)

For $i = $aArray[0] To 1 Step -1 ;ループで逆方向から処理
    _ExcelSheetActivate($oExcel, $aArray[$i]) ;配列要素内の返された名前文字列を使用
    MsgBox(0, "ActiveSheet", "The Active Sheet should be:" & @CRLF & $aArray[$i])
Next

MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり

; ***************************************************************
; 例 3 - ワークブックを開きオブジェクト識別子取得後、ワークブック内の全シート名を持つ配列を作成
;              その後、インデックスで各シートをアクティブ化
; *****************************************************************
#include <Excel.au3>

Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示

$aArray = _ExcelSheetList($oExcel)

For $i = $aArray[0] To 1 Step -1 ;ループで逆方向から処理
    _ExcelSheetActivate($oExcel, $i) ;配列のインデックスを使用
    MsgBox(0, "ActiveSheet", "The Active Sheet should be:" & @CRLF & $aArray[$i])
Next

MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり

; ***************************************************************
; 例 4 - ワークブックを開きオブジェクト識別子取得後、ワークブック内の全シート名を持つ配列を作成
;               その後、インデックスで各シートをアクティブ化。 各シートで配列をシートに書き込み、いくつかの乱数を挿入
; *****************************************************************
#include <Excel.au3>

Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示

$aArray = _ExcelSheetList($oExcel)

For $i = $aArray[0] To 1 Step -1 ;ループで逆方向から処理
    _ExcelSheetActivate($oExcel, $i) ;配列のインデックスを使用
    _ExcelWriteArray($oExcel, 1, 1, $aArray, 1) ;アクティブなシートに配列を書き込む
    ループと乱数を使っていくつかのセルを埋める
    For $y = 2 To 10
        For $x = 2 To 10
            _ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ;乱数をいくつかファイルに書き込む
        Next
    Next
    MsgBox(0, "ActiveSheet", "The Active Sheet should be:" & @CRLF & $aArray[$i])
Next

MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり