メインコンテンツまでスキップ

ワークシートのコピー

ここではオフィススクリプトを使って、特定のワークシートをコピーする方法を解説します。

利用するメソッド

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

メソッドの詳細
/**
* @param positionType コピーしたシートをどの位置に配置するか(用意されているenumから選択)
* @param relativeTo positionTypeでbeforeまたはafterを選択した場合、対象となるワークシート
* @return コピーされたワークシートのオブジェクト
*/
ExcelScript.Worksheet.copy(
positionType?: WorksheetPositionType,
relativeTo?: Worksheet
): ExcelScript.Worksheet;

引数はいずれも省略可能です。引数を省略した場合、コピーしたシートはワークブックの先頭に配置されます。

サンプルコード

コピーするシート名を指定し、そのワークシートの後ろにコピーしたシートを配置するサンプルコードです。

指定したシートが見つからなかった場合、エラーをスローします。

ワークシートをコピーするサンプル
function main(workbook: ExcelScript.Workbook) {
/** 対象シート名 */
const sheetname = 'Sheet1';

/** 対象ワークシート */
const sheet = workbook.getWorksheet(sheetname);

if (!sheet) {
throw `${sheetname}という名前のワークシートは存在しません`;
}

const copied = sheet.copy(ExcelScript.WorksheetPositionType.after, sheet);

console.log(`${sheetname}をコピーしました。`, `コピー後のシート名: ${copied.getName()}`);
}