ワークブック内の全てのシートの名前をリスト化し、配列で返します。
#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) ; 閉じて終わり