コンテンツにスキップ

ワークシートの取得

ここではオフィススクリプトを使って、特定のワークシートを取得する方法を、サンプルコードと併せて解説します。

はじめに最も使用する機会の多い、シート名を指定した取得方法です。

Workbookオブジェクトに含まれている、getWorksheetメソッドを使用します。

getWorksheetの型定義
ExcelScript.Workbook.getWorksheet(key: string): Worksheet | undefined;

引数にはシート名(またはワークシートの ID)を指定します。指定したワークシートが存在しない場合はundefinedが返されるため、取得できたかどうかを確認してから使用します。

getWorksheetを使ったサンプル
function main(workbook: ExcelScript.Workbook) {
/** 対象シート名 */
const sheetname = 'Sheet1';
/** 対象ワークシート */
const sheet = workbook.getWorksheet(sheetname);
if (!sheet) {
throw `${sheetname}という名前のワークシートは存在しません`;
}
}

n 番目のシートと指定して取得する場合です。

Workbookオブジェクトに含まれている、getWorksheetsメソッドを使用します。

getWorksheetsの型定義
ExcelScript.Workbook.getWorksheets(): Worksheet[];

ブック内のすべてのワークシートが配列で返されるため、インデックス(0 から始まる)を指定して取得します。

getWorksheetsを使ったサンプル
function main(workbook: ExcelScript.Workbook) {
/** ワークブック内の全てのワークシート */
const sheets = workbook.getWorksheets();
/** ワークブック内の2番目のシート */
const secondSheet = sheets[1];
}

最初・最後のシートを取得する

Section titled “最初・最後のシートを取得する”

前述したインデックスでも実現できますが、最初・最後のシートを取得する方法です。

Workbookオブジェクトに含まれている、getFirstWorksheetメソッド、getLastWorksheetメソッドを使用します。

getFirstWorksheet,getLastWorksheetの型定義
ExcelScript.Workbook.getFirstWorksheet(visibleOnly?: boolean): Worksheet;
ExcelScript.Workbook.getLastWorksheet(visibleOnly?: boolean): Worksheet;

それぞれ省略可能な引数を 1 つ持ち、true を指定した場合は、非表示のワークシートを除いた中で最初・最後のシートを返します。

getFirstWorksheet,getLastWorksheetを使ったサンプル
function main(workbook: ExcelScript.Workbook) {
/** ワークブック内の最初のワークシート */
const firstSheet = workbook.getFirstWorksheet();
/** ワークブック内の表示されている中で最後のワークシート */
const lastSheet = workbook.getLastWorksheet(true);
}