コンテンツにスキップ

ワークシートのコピー

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

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

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

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

positionTypeにはnone、before、after、beginning、endのいずれかを指定します。beforeまたはafterを指定した場合は、relativeToに基準となるワークシートを指定します。

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

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

ワークシートをコピーするサンプル
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()}`);
}