ワークシートのコピー
ここではオフィススクリプトを使って、特定のワークシートをコピーする方法を解説します。
利用するメソッド
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()}`);
}