Excel Office スクリプト ワークシートの移動

2021年6月30日

Office スクリプトによるワークシート名の移動方法を紹介します。

使い方

次の構文で行います。(赤字は可変部分

workbook.getWorksheet("移動するシート").setPosition(移動する位置);

移動する位置は0(先頭)から始まる連番です。

先頭(もっとも左)に移動

0を指定すると先頭に移動します。

// 先頭に移動
workbook.getWorksheet("移動するシート").setPosition(0);

末尾(もっとも右)に移動

次にように指定すると末尾に移動します。

// 末尾に移動
workbook.getWorksheet("移動するシート").setPosition(workbook.getWorksheets.length - 1);

指定のシートの前、または後ろに移動

指定のシートの前、または後ろに移動する場合は次のようにします。

(位置関係によってPositionが変わるのでややこしめです)

let targetSheet = workbook.getWorksheet("移動するシート名");
let baseSheet = workbook.getWorksheet("基準シート名");
let before:boolean = 基準シートの前に移動する場合、true。後に移動する場合、false;

let targrtPosition = targetSheet.getPosition();
let basePosition = baseSheet.getPosition();
let offset: number;

if(before){
  if (basePosition < targrtPosition) {
    offset = 0;
  }
  else {
    offset = -1;
  }
}
else{
  if (basePosition > targrtPosition) {
    offset = 0;
  }
  else {
    offset = 1;
  }
}

targetSheet.setPosition(
  basePosition + offset
);

次の記事

ワークシートのコピー

関連記事

Excel Office スクリプトの記事一覧

Excel シートの追加・削除・移動・コピーの方法