ワークシートのコピー
ここではオフィススクリプトを使って、特定のワークシートをコピーする方法を解説します。
利用するメソッド
Section titled “利用するメソッド”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に基準となるワークシートを指定します。
サンプルコード
Section titled “サンプルコード”コピーするシート名を指定し、そのワークシートの後ろにコピーしたシートを配置するサンプルコードです。
指定したシートが見つからなかった場合、エラーをスローします。
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()}`);}