Google Docs API では、シンプルな段落を箇条書きに変換したり、段落から箇条書きを削除したりすることができます。
段落をリストに変換する
一般的に、段落の表示形式の設定操作では段落を箇条書きリストに変換します。
リストを作成するには、documents.batchUpdate
メソッドを使用して CreateParagraphBulletsRequest
を指定します。影響を受けるセルを指定する Range
と、箇条書きのパターンを設定する BulletGlyphPreset
を含めます。
指定した範囲と重複するすべての段落に箇条書きが付けられます。指定した範囲が表と重複する場合、箇条書きは表セル内に適用されます。各段落のネストレベルは、各段落の前に配置されているタブの数によって決まります。
既存の箇条書きのネスト レベルは調整できません。 代わりに、箇条書きを削除し、段落の前にタブを設定してから、箇条書きを再度作成する必要があります。詳しくは、リストから箇条書き項目を削除するをご覧ください。
CreateParagraphBulletsRequest
を使用して、既存のリストの箇条書きスタイルを変更することもできます。
次のコードサンプルは、最初にドキュメントの先頭にテキストを挿入し、次に最初の 50 文字にまたがる段落からリストを作成するバッチ リクエストを示しています。BulletGlyphPreset
は BULLET_ARROW_DIAMOND_DISC
を使用します。つまり、箇条書きリストの最初の 3 つのネストレベルは、矢印、ひし形、円盤で表されます。
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()
リストから箇条書き記号を削除する
段落リストから箇条書きを削除するには、documents.batchUpdate
メソッドを使用して DeleteParagraphBulletsRequest
を指定します。影響を受けるセルを指定するには、Range
を含めます。
このメソッドは、ネストレベルに関係なく、指定された範囲と重複するすべての箇条書きを削除します。ネストレベルを視覚的に維持するために、対応する各段落の先頭にインデントが追加されます。
次のコードサンプルは、段落リストから箇条書きを削除するバッチ リクエストを示しています。
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()