Function Reference

_ExcelSheetMove

指定したシートを別の指定したシートの前に移動します。

#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) ; 閉じて終わり