Officeスクリプト ワークシート操作まとめ|作成・削除・コピー

OfficeScripts(オフィススクリプト)でワークシートを操作する方法をまとめて紹介します。

ワークシートの作成・削除・コピー・シート名変更などワークシート操作のスクリプトを解説します。

ドノ

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

目次

ワークシートの取得・選択(指定)

まずワークシートの取得方法について紹介します。ブック内すべてのシート、シート名指定でのシート取得などの方法を紹介しています。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

アクティブなシートを取得

function main(workbook: ExcelScript.Workbook) {

  // 現在アクティブなシートを取得します
  let sheet = workbook.getActiveWorksheet();

}

ワークシート名指定でシートを取得

function main(workbook: ExcelScript.Workbook) {
  
  // シート名を指定してシートを取得します
  let sheet = workbook.getWorksheet("MySheet");  // 任意のシート名に変更してください(例: "MySheet")

}

ワークシートを位置で取得(〇番目・最初・最後)

function main(workbook: ExcelScript.Workbook) {

  // ○番目のシートを取得。[]内の番号は0始まりなので注意。
  let sheet = workbook.getWorksheets()[0];  // 任意の番号に変更してください(例: 0)

}
ドノ

最初と最後のシートは下記の式で取得可能です。
・最初:workbook.getFirstWorksheet()
・最後:workbook.getLastWorksheet()

すべてのワークシートを取得(ブック内)

function main(workbook: ExcelScript.Workbook) {

  // ブック内のすべてのテーブルを取得します
  let sheets = workbook.getWorksheets();
    
}

Sponsored link

ワークシートの作成・コピー

次にワークシートの作成・追加とコピーについて紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

ワークシートの追加

function main(workbook: ExcelScript.Workbook) {

  // テーブル名を指定して新規シートを作成
  let newSheet = workbook.addWorksheet("MySheet");  // 任意のテーブル名に変更してください(例: "MySheet")

}

ワークシートのコピー

function main(workbook: ExcelScript.Workbook) {

    // コピー元のシートをシート名を指定して取得する
    let originalSheet = workbook.getWorksheet("MySheet");  // 任意のテーブル名に変更してください(例: "MySheet")

    // 取得したシートをコピーする(位置は先頭)
    // シート名とシート位置は任意に変更してください。
    let copiedSheet = originalSheet.copy();

}

Sponsored link

ワークシート名の取得・変更

次にワークシートの名前の取得・変更について紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シート名を指定してシートを取得します
  let sheet = workbook.getWorksheet("MySheet");  // 任意のシート名に変更してください(例: "MySheet")
    
  // 新しいワークシートの名前を設定
  sheet.setName("NewSheet");                 // 任意のシート名に変更してください(例: "NewSheet")

}

Sponsored link

ワークシートの削除

次にワークシートの削除方法について紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シート名を指定してシートを取得します
  let sheet = workbook.getWorksheet("MySheet");  // 任意のシート名に変更してください(例: "MySheet")

  // 取得したシートを削除
  sheet.delete();

}

Sponsored link

ワークシートの移動

次にワークシートの移動方法について紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シート名を指定してシートを取得します
  let sheet = workbook.getWorksheet("MySheet");  // 任意のシート名に変更してください(例: "MySheet")

  // ○番目のシートを移動する。()内の番号は0始まりなので注意。
  sheet.setPosition(0); // 任意の番号に変更してください(例: 0)

}
ドノ

最初と最後の位置への移動は()に下記を入力してください。
・最初:0
・最後:workbook.getWorksheets().length – 1

Sponsored link

ワークシート数のカウント

次にワークシート数のカウント方法について紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // ブック内のシートの数を取得する。
  let sheetsCount = workbook.getWorksheets().length;

  // シートの数をログに出力する
  console.log(sheetsCount);
}
ドノ

console.log(sheetsCount)は確認のためだけなので削除して使用してOKです。

Sponsored link

ワークシートタブの色変更

次にワークシート数のカウント方法について紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シート名を指定してシートを取得します
  let sheet = workbook.getWorksheet("MySheet");  // 任意のシート名に変更してください(例: "MySheet")

  // タブの色を設定
  sheet.setTabColor("#FF5733"); // 任意の色に変更してください(例: "#FF5733")

}

基本的なカラーコード

色名カラーコード
黒 (Black)#000000
白 (White)#FFFFFF
赤 (Red)#FF0000
緑 (Green)#00FF00
青 (Blue)#0000FF
黄色 (Yellow)#FFFF00
シアン (Cyan)#00FFFF
マゼンタ (Magenta)#FF00FF

Sponsored link

すべてのワークシートで繰り返し処理をする(シート名指定)

次に複数またはすべてのワークシートで繰り返し同じ処理をする方法を紹介します。

スクリプト内のシート名変数名は例が入っていますので状況に応じて変更して使用してください。

すべてのシートで繰り返し同じ処理をする

function main(workbook: ExcelScript.Workbook) {
  
  // すべてのワークシートを取得する
  let sheets = workbook.getWorksheets();

  // 各ワークシートに対して処理を実行
  sheets.forEach(sheet => {

    // ここに処理を記載する
    sheet.getRange("A1").setValue("Hello!");  // 任意の処理に変更してください(例:A1にHello!と入力)
  
});
}

複数のシートで繰り返し同じ処理をする(シート名指定)

function main(workbook: ExcelScript.Workbook) {

    // 処理を行いたいシート名のリストを作成する。
    let targetSheetNames = ["Sheet1", "Sheet2", "Sheet3"];  // 任意のシート名に変更してください

    // 各シート名に対して処理を実行
    targetSheetNames.forEach(sheetName => {
        let sheet = workbook.getWorksheet(sheetName);

        // ここに処理を記載する
        sheet.getRange("A1").setValue("Hello!"); // 任意の処理に変更してください(例:A1にHello!と入力)

    });
}

Sponsored link

Officeスクリプトの学習

オフィススクリプトを書籍で学習したいという方はコチラがオススメです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仕事、お金、旅行のことなどメモしてます。
仕事ではTableauを勉強中!
初心者にもわかりやすいように学んだことを発信していきます。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次