指定したシートを別の指定したシートの前に移動します。
#Include <Excel.au3>
_ExcelSheetMove($oExcel, $vMoveSheet [, $vRelativeSheet = 1 [, $fBefore = True]])
パラメータ
$oExcel | _ExcelBookOpen()か_ExcelBookNew()の呼び出しで開かれているExcelオブジェクト |
$vMoveSheet | 移動させるシートの名前または番号 (文字列または整数) |
$vRelativeSheet | [オプション]このシートの前または後ろにシートを移動させます(文字列または整数。デフォルトは1番目のシート) |
$fBefore | [オプション]Trueの場合指定した移動位置シートの前に、Falseの場合後ろに移動シートを移動します(TrueまたはFalse) (デフォルトはTrue) |
返し値
成功: | 1 |
失敗: | 0 and sets @error |
@error: | 0 - 正常終了 |
1 - 指定されたオブジェクトが存在しません | |
2 - 指定された番号の移動シートが存在しません | |
3 - 指定された名前の移動シートが存在しません | |
4 - 指定された番号の移動位置シートが存在しません | |
5 - 指定された名前の移動位置シートが存在しません |
注意
なし。
関連
例
; *****************************************************************
; 例 1 - ワークブックを開きオブジェクト識別子取得後、シートのインデックスを使用してシートを移動
; *****************************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示
_ExcelSheetMove($oExcel, 2) ;2番目のシートを1番目の位置に移動 (整数/インデックスで指定)
MsgBox(0, "Exiting", "Notice How Sheet2 is in the 1st Position" & @CRLF & @CRLF & "Now 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() ;新しいブックを作成して表示
_ExcelSheetMove($oExcel, "Sheet2") ;2番目のシートを1番目の位置に移動 (文字列/名前で指定)
MsgBox(0, "Exiting", "Notice How Sheet2 is in the 1st Position" & @CRLF & @CRLF & "Now 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() ;新しいブックを作成して表示
;シートを数枚追加。配置変更をおこなう
$sSheetName4 = "Sheet4"
$sSheetName5 = "Sheet5"
_ExcelSheetAddNew($oExcel, $sSheetName4) ;シートを追加
_ExcelSheetMove($oExcel, $sSheetName4, 4, False) ;$sSheetName4を4番目の位置に移動(Falseなので移動位置シートの後ろ)
_ExcelSheetAddNew($oExcel, $sSheetName5) ;シートを追加
_ExcelSheetMove($oExcel, $sSheetName5, 5, False) ;$sSheetName4を5番目の位置に移動(Falseなので移動位置シートの後ろ)
MsgBox(0, "Show", "Take note of the order of the Worksheets" & @CRLF & @CRLF & "Press OK to Continue")
_ExcelSheetMove($oExcel, $sSheetName5, "Sheet3", True) ;5番目のシートを'Sheet3'という名前のシートの前に移動
MsgBox(0, "Exiting", "'" & $sSheetName5 & "'" & " when the $fBefore paramter is True (Relative to 'Sheet3')" & @CRLF & @CRLF & "Press OK to Continue")
_ExcelSheetMove($oExcel, $sSheetName5, "Sheet3", False) ;5番目のシートを'Sheet3'という名前のシートの前に移動
MsgBox(0, "Exiting", "'" & $sSheetName5 & "'" & " when the $fBefore paramter is False (Relative to 'Sheet3')" & @CRLF & @CRLF & "Now Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり