Share via


Crear una tabla de contenido de libro

En este ejemplo se muestra cómo crear una tabla de contenido para el libro. Cada entrada de la tabla de contenido es un hipervínculo a una de las hojas de cálculo del libro.

La hoja de cálculo de tabla de contenido que muestra vínculos a las otras hojas de cálculo.

Configuración: Archivo de Excel de ejemplo

Este libro contiene los datos, los objetos y el formato esperados por el script.

Código de ejemplo: Creación de una tabla de contenido de libro

Agregue el siguiente script al libro de ejemplo y pruebe el ejemplo usted mismo.

function main(workbook: ExcelScript.Workbook) {
  // Insert a new worksheet at the beginning of the workbook.
  let tocSheet = workbook.addWorksheet();
  tocSheet.setPosition(0);
  tocSheet.setName("Table of Contents");

  // Give the worksheet a title in the sheet.
  tocSheet.getRange("A1").setValue("Table of Contents");
  tocSheet.getRange("A1").getFormat().getFont().setBold(true);

  // Create the table of contents headers.
  let tocRange = tocSheet.getRange("A2:B2")
  tocRange.setValues([["#", "Name"]]);

  // Get the range for the table of contents entries.
  let worksheets = workbook.getWorksheets();
  tocRange = tocRange.getResizedRange(worksheets.length, 0);

  // Loop through all worksheets in the workbook, except the first one.
  for (let i = 1; i < worksheets.length; i++) {
    // Create a row for each worksheet with its index and linked name.
    tocRange.getCell(i, 0).setValue(i);
    tocRange.getCell(i, 1).setHyperlink({
      textToDisplay: worksheets[i].getName(),
      documentReference: `'${worksheets[i].getName()}'!A1`
    });
  };

  // Activate the table of contents worksheet.
  tocSheet.activate();
}