Festlegen und Abrufen des ausgewählten Bereichs mithilfe der Excel-JavaScript-API

Dieser Artikel enthält Codebeispiele, mit denen der ausgewählte Bereich mit der Excel-JavaScript-API festgelegt und abgerufen wird. Eine vollständige Liste der Eigenschaften und Methoden, die das Range Objekt unterstützt, finden Sie unter Excel.Range-Klasse.

Hinweis

Die Excel-JavaScript-API beinhaltet keine auf „Zellen“ bezogenen Objekte oder Klassen. Stattdessen definiert die Excel-JavaScript-API alle Excel-Zellen als Objekte Range. Eine einzelne Zelle in der Excel-Benutzeroberfläche wird in ein Objekt Range mit einer Zelle der Excel-JavaScript-API übersetzt. Ein einzelnes Objekt Range kann auch mehrere zusammenhängende Zellen beinhalten. Weitere Informationen finden Sie unter Arbeiten mit Zellen mithilfe der Excel-JavaScript-API.

Festlegen des ausgewählten Bereichs

Im folgenden Codebeispiel wird der Bereich B2: E6 auf dem aktiven Arbeitsblatts ausgewählt.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getActiveWorksheet();
    let range = sheet.getRange("B2:E6");

    range.select();

    await context.sync();
});

Ausgewählter Bereich B2: E6

Ausgewählter Bereich in Excel.

Abrufen des ausgewählten Bereichs

Im folgenden Codebeispiel wird der ausgewählte Bereich abgerufen, seine address -Eigenschaft geladen und eine Nachricht in die Konsole geschrieben.

await Excel.run(async (context) => {
    let range = context.workbook.getSelectedRange();
    range.load("address");

    await context.sync();
    
    console.log(`The address of the selected range is "${range.address}"`);
});

Auswählen des Rands eines verwendeten Bereichs

Mit den Methoden Range.getRangeEdge und Range.getExtendedRange können Add-Ins das Verhalten der Tastenkombinationen für die Tastaturauswahl replizieren und den Rand des verwendeten Bereichs basierend auf dem aktuell ausgewählten Bereich auswählen. Weitere Informationen zu verwendeten Bereichen finden Sie unter Abrufen des verwendeten Bereichs.

Im folgenden Screenshot ist der verwendete Bereich die Tabelle mit Werten in jeder Zelle, C5:F12. Die leeren Zellen außerhalb dieser Tabelle befinden sich außerhalb des verwendeten Bereichs.

Eine Tabelle mit Daten aus C5:F12 in Excel.

Auswählen der Zelle am Rand des aktuell verwendeten Bereichs

Im folgenden Codebeispiel wird gezeigt, wie die Range.getRangeEdge -Methode verwendet wird, um die Zelle am weitesten rand des aktuell verwendeten Bereichs in Richtung nach oben auszuwählen. Diese Aktion entspricht dem Ergebnis der Verwendung der Tastenkombination STRG+NACH-OBEN, während ein Bereich ausgewählt ist.

await Excel.run(async (context) => {
    // Get the selected range.
    let range = context.workbook.getSelectedRange();

    // Specify the direction with the `KeyboardDirection` enum.
    let direction = Excel.KeyboardDirection.up;

    // Get the active cell in the workbook.
    let activeCell = context.workbook.getActiveCell();

    // Get the top-most cell of the current used range.
    // This method acts like the Ctrl+Up arrow key keyboard shortcut while a range is selected.
    let rangeEdge = range.getRangeEdge(
      direction,
      activeCell
    );
    rangeEdge.select();

    await context.sync();
});

Vor dem Auswählen der Zelle am Rand des verwendeten Bereichs

Der folgende Screenshot zeigt einen verwendeten Bereich und einen ausgewählten Bereich innerhalb des verwendeten Bereichs. Der verwendete Bereich ist eine Tabelle mit Daten in C5:F12. In dieser Tabelle ist der Bereich D8:E9 ausgewählt. Bei dieser Auswahl handelt es sich um den Status "before ", bevor die Range.getRangeEdge Methode ausgeführt wird.

Eine Tabelle mit Daten aus C5:F12 in Excel. Der Bereich D8:E9 ist ausgewählt.

Nach auswahl der Zelle am Rand des verwendeten Bereichs

Der folgende Screenshot zeigt dieselbe Tabelle wie der vorherige Screenshot mit Daten im Bereich C5:F12. In dieser Tabelle ist der Bereich D5 ausgewählt. Diese Auswahl erfolgt nach dem Zustand, nachdem die Range.getRangeEdge -Methode ausgeführt wurde, um die Zelle am Rand des verwendeten Bereichs in up-Richtung auszuwählen.

Eine Tabelle mit Daten aus C5:F12 in Excel. Der Bereich D5 ist ausgewählt.

Auswählen aller Zellen vom aktuellen Bereich bis zum weitesten Rand des verwendeten Bereichs

Das folgende Codebeispiel zeigt, wie die Range.getExtendedRange -Methode verwendet wird, um alle Zellen aus dem aktuell ausgewählten Bereich bis zum weitesten Rand des verwendeten Bereichs in der Richtung nach unten auszuwählen. Diese Aktion entspricht dem Ergebnis der Verwendung der Tastenkombination STRG+UMSCHALT+NACH-UNTEN, während ein Bereich ausgewählt ist.

await Excel.run(async (context) => {
    // Get the selected range.
    let range = context.workbook.getSelectedRange();

    // Specify the direction with the `KeyboardDirection` enum.
    let direction = Excel.KeyboardDirection.down;

    // Get the active cell in the workbook.
    let activeCell = context.workbook.getActiveCell();

    // Get all the cells from the currently selected range to the bottom-most edge of the used range.
    // This method acts like the Ctrl+Shift+Down arrow key keyboard shortcut while a range is selected.
    let extendedRange = range.getExtendedRange(
      direction,
      activeCell
    );
    extendedRange.select();

    await context.sync();
});

Vor dem Auswählen aller Zellen vom aktuellen Bereich bis zum Rand des verwendeten Bereichs

Der folgende Screenshot zeigt einen verwendeten Bereich und einen ausgewählten Bereich innerhalb des verwendeten Bereichs. Der verwendete Bereich ist eine Tabelle mit Daten in C5:F12. In dieser Tabelle ist der Bereich D8:E9 ausgewählt. Bei dieser Auswahl handelt es sich um den Status "before ", bevor die Range.getExtendedRange Methode ausgeführt wird.

Eine Tabelle mit Daten aus C5:F12 in Excel. Der Bereich D8:E9 ist ausgewählt.

Nachdem Sie alle Zellen aus dem aktuellen Bereich bis zum Rand des verwendeten Bereichs ausgewählt haben

Der folgende Screenshot zeigt dieselbe Tabelle wie der vorherige Screenshot mit Daten im Bereich C5:F12. In dieser Tabelle ist der Bereich D8:E12 ausgewählt. Diese Auswahl erfolgt nach dem Zustand, nachdem die Range.getExtendedRange -Methode ausgeführt wurde, um alle Zellen aus dem aktuellen Bereich bis zum Rand des verwendeten Bereichs in Abwärtsrichtung auszuwählen.

Eine Tabelle mit Daten aus C5:F12 in Excel. Der Bereich D8:E12 ist ausgewählt.

Siehe auch