0

既存のワークシートのコピーを作成し、この新しいワークシート内に というテーブルを生成するスクリプトがありますLists

スクリプトが再度実行されるたびに新しいワークシートを削除する方法を探していますが、「ワークシートのアクティブ化: 要求されたリソースが存在しません」というエラーが表示され続けますselectedSheet.activate();

let selectedSheet = workbook.getWorksheets()[0];
selectedSheet.getAutoFilter().remove();

// Duplicate worksheet.
let itemsName = "Lists";
let sheetItem = workbook.getWorksheet(itemsName);
// If `null` wasn't returned, then there's already a worksheet with the same name.
if (sheetItem) {
  console.log(`Worksheet ${itemsName} already exists. Deleting...`);
  // Delete the sheet.
  sheetItem.delete();
 } else {
  let selectedSheet = workbook.getWorksheets()[0];
}
selectedSheet.activate();
let itemsSheet = selectedSheet.copy(ExcelScripWorksheetPositionType.before, selectedSheet);
itemsSheet.setName("Lists");
itemsSheet.activate();

4

1 に答える 1

3

オプションの連鎖演算子 (?.) を使用することをお勧めします。

function main(workbook: ExcelScript.Workbook)
{
  const itemsName = "Lists";
  workbook.getWorksheet(itemsName)?.delete();
  const selectedSheet = workbook.getFirstWorksheet();
  const itemsSheet = selectedSheet.copy(ExcelScript.WorksheetPositionType.before, selectedSheet);
  itemsSheet.setName(itemsName);
  itemsSheet.activate();
}

以下のリンクを参照してください。

  1. https://docs.microsoft.com/en-us/office/dev/scripts/develop/best-practices#verify-an-object-is-present
  2. https://github.com/sumurthy/officescripts-projects/tree/main/Top%205%20ヒント
于 2021-06-17T08:36:06.167 に答える