Freigeben über


Entfernen von Links aus jeder Zelle in einem Excel-Arbeitsblatt

In diesem Beispiel werden alle Links aus dem aktuellen Arbeitsblatt gelöscht. Es durchläuft das Arbeitsblatt, und wenn der Zelle ein Link zugeordnet ist, wird der Link gelöscht, aber der Zellwert wird unverändert beibehalten. Protokolliert außerdem die Zeit, die zum Abschließen des Durchlaufs benötigt wird.

Hinweis

Dies funktioniert nur, wenn die Zellanzahl 10.000 beträgt < .

Setup: Excel-Beispieldatei

Diese Arbeitsmappe enthält die Daten, Objekte und Formatierungen, die vom Skript erwartet werden.

Führen Sie das folgende Skript in der Beispielarbeitsmappe aus, und probieren Sie das Beispiel selbst aus! Öffnen Sie den Code-Editor, indem Sie zu Automatisieren> derErstellung neuer Skripts>im Code-Editor wechseln, den Standardcode durch den Beispielcode ersetzen, den Sie ausführen möchten, und wählen Sie dann Ausführen aus.

function main(workbook: ExcelScript.Workbook, sheetName: string = 'Sheet1') {
  // Get the active worksheet. 
  let sheet = workbook.getWorksheet(sheetName);

  // Get the used range to operate on.
  // For large ranges (over 10000 entries), consider splitting the operation into batches for performance.
  const targetRange = sheet.getUsedRange(true);
  console.log(`Target Range to clear hyperlinks from: ${targetRange.getAddress()}`);

  const rowCount = targetRange.getRowCount();
  const colCount = targetRange.getColumnCount();
  console.log(`Searching for hyperlinks in ${targetRange.getAddress()} which contains ${(rowCount * colCount)} cells`);

  // Go through each individual cell looking for a hyperlink. 
  // This allows us to limit the formatting changes to only the cells with hyperlink formatting.
  let clearedCount = 0;
  for (let i = 0; i < rowCount; i++) {
    for (let j = 0; j < colCount; j++) {
      const cell = targetRange.getCell(i, j);
      const hyperlink = cell.getHyperlink();
      if (hyperlink) {
        cell.clear(ExcelScript.ClearApplyTo.hyperlinks);
        cell.getFormat().getFont().setUnderline(ExcelScript.RangeUnderlineStyle.none);
        cell.getFormat().getFont().setColor('Black');
        clearedCount++;
      }
    }
  }

  console.log(`Done. Cleared hyperlinks from ${clearedCount} cells`);
}

Sehen Sie sich sudhi Ramamurthy an, wie Sie dieses Beispiel auf YouTube durchgehen.