Mit Listen arbeiten

Die Google Docs API unterstützt die Umwandlung von einfachen Absätzen in Aufzählungslisten und das Entfernen von Aufzählungszeichen aus Absätzen.

Absätze in Listen umwandeln

Eine gängige Absatzformatierung ist das Konvertieren von Absätzen in eine Aufzählungsliste.

Verwenden Sie zum Erstellen einer Liste die Methode documents.batchUpdate und geben Sie einen CreateParagraphBulletsRequest an. Fügen Sie einen Range hinzu, um die betroffenen Zellen anzugeben, und einen BulletGlyphPreset, um das Muster für den Aufzählungspunkt festzulegen.

Alle Absätze, die sich mit dem angegebenen Bereich überschneiden, werden mit Aufzählungszeichen versehen. Wenn sich der angegebene Bereich mit einer Tabelle überschneidet, werden die Aufzählungszeichen in den Tabellenzellen angewendet. Die Verschachtelungsebene jedes Absatzes wird dadurch bestimmt, dass vor jedem Absatz vorangehende Tabs gezählt werden.

Die Verschachtelungsebene einer vorhandenen Aufzählung kann nicht angepasst werden. Stattdessen müssen Sie den Aufzählungspunkt löschen, die Tabulatoren vor dem Absatz setzen und dann den Aufzählungspunkt noch einmal erstellen. Weitere Informationen finden Sie unter Aufzählungspunkte aus einer Liste entfernen.

Mit CreateParagraphBulletsRequest können Sie auch den Aufzählungsstil für eine vorhandene Liste ändern.

Das folgende Codebeispiel zeigt eine Batchanfrage, bei der zuerst Text am Anfang des Dokuments eingefügt und dann eine Liste aus den Absätzen erstellt wird, die die ersten 50 Zeichen umfassen. Für BulletGlyphPreset wird BULLET_ARROW_DIAMOND_DISC verwendet. Das bedeutet, dass die ersten drei Verschachtelungsebenen der Aufzählungsliste durch einen Pfeil, eine Raute und einen Datenträger dargestellt werden.

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText("Item One\n")
        .setLocation(new Location().setIndex(1).setTabId(TAB_ID))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(TAB_ID))
                .setBulletPreset("BULLET_ARROW_DIAMOND_DISC")));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();

Python

requests = [
        {
        'insertText': {
            'location': {
                'index': 1,
                'tabId': TAB_ID
            },
            'text': 'Item One\n',
        }}, {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': TAB_ID
            },
            'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',
        }
    }
]

result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()
Wandeln Sie einen Absatz in eine Liste um.
Abbildung 1: Wandeln Sie einen Absatz in eine Liste um.

Aufzählungspunkte aus einer Liste entfernen

Wenn Sie Aufzählungszeichen aus einer Absatzliste entfernen möchten, verwenden Sie die Methode documents.batchUpdate und geben Sie einen DeleteParagraphBulletsRequest an. Fügen Sie ein Range ein, um die betroffenen Zellen anzugeben.

Mit der Methode werden alle Aufzählungspunkte gelöscht, die sich mit dem angegebenen Bereich überschneiden, unabhängig von der Verschachtelungsebene. Um die Verschachtelungsebene visuell zu erhalten, wird der Anfang jedes entsprechenden Absatzes eingerückt.

Im folgenden Codebeispiel wird eine Batchanfrage gezeigt, mit der Aufzählungspunkte aus einer Absatzliste gelöscht werden.

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setDeleteParagraphBullets(
        new DeleteParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(TAB_ID))));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();

Python

requests = [
        {
        'deleteParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': TAB_ID
            },
        }
    }
]

result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()