class table  _  apps script  _  google developers

Upload: avinashfriends21

Post on 07-Aug-2018

268 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    1/19

    An element representing a table. A Table may only contain TableRow elements. For more

    information on document structure, see the guide to extending Google Docs.

    When creating a Table that contains a large number of rows or cells, consider building it from a

    string array, as shown in the following example.

    Methods

    Method Return type Brief description

    appendTableRow() TableRow Creates and appends a new TableRow.

    appendTableRow(tableRow) TableRow Appends the given TableRow.

    clear() Table Clears the contents of the element.

    copy() Table Returns a detached, deep copy of the current

    element.

    editAsText() Text Obtains a Text version of the current element, for

    editing.

    findElement(elementType) RangeElement Searches the contents of the element for a

    descendant of the specied type.

    findElement(elementType,

    from)

    RangeElement Searches the contents of the element for a

    descendant of the specied type, starting from the

    specied RangeElement.

    findText(searchPattern) RangeElement Searches the contents of the element for the

    specied text pattern using regular expressions.

    Class Table

    var body = DocumentApp.getActiveDocument().getBody();

    // Create a two-dimensional array containing the cell contents.

    var cells = [

    ['Row 1, Cell 1', 'Row 1, Cell 2'],

    ['Row 2, Cell 1', 'Row 2, Cell 2']];

    // Build a table from the array.

     body.appendTable(cells);

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    2/19

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    3/19

    removeFromParent() Table Removes the element from its parent.

    removeRow(rowIndex) TableRow Removes the TableRow at the specied row index.

    replaceText(searchPattern,

    replacement)

    Element Replaces all occurrences of a given text pattern with

    a given replacement string, using regular

    expressions.

    setAttributes(attributes) Table Sets the element's attributes.

    setBorderColor(color) Table Sets the border color.

    setBorderWidth(width) Table Sets the border width, in points.

    setColumnWidth(

    columnIndex, width)

    Table Sets the width of the specied column, in points.

    setLinkUrl(url) Table Sets the link url.

    setTextAlignment(

    textAlignment)

    Table Sets the text alignment.

    Detailed documentation

    appendTableRow()

    Creates and appends a new TableRow.

    Return

    TableRow — the new table row element

    appendTableRow(tableRow)

    Appends the given TableRow.

    Parameters

    Name Type Description

    tableRow TableRow the table row to append

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    4/19

    Return

    TableRow — the appended table row element

    clear()

    Clears the contents of the element.

    Return

    Table — the current element

    copy()

    Returns a detached, deep copy of the current element.

    Any child elements present in the element are also copied. The new element will not have a

    parent.

    Return

    Table — the new copy

    editAsText()

    Obtains a Text version of the current element, for editing.

    Use editAsText for manipulating the elements contents as rich text. The editAsText modeignores non-text elements (such as InlineImage and HorizontalRule).

    Child elements fully contained within a deleted text range are removed from the element.

    var body = DocumentApp.getActiveDocument().getBody();

    // Insert two paragraphs separated by a paragraph containing an

    // horizontal rule. body.insertParagraph(0, "An editAsText sample.");

     body.insertHorizontalRule(0);

     body.insertParagraph(0, "An example.");

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    5/19

    Return

    Text — a text version of the current element

    findElement(elementType)

    Searches the contents of the element for a descendant of the specied type.

    Parameters

    Name Type Description

    elementType ElementType the type of element to search for

    Return

    RangeElement — a search result indicating the position of the search element

    findElement(elementType, from)

    Searches the contents of the element for a descendant of the specied type, starting from the

    specied RangeElement.

    // Delete " sample.\n\n An" removing the horizontal rule in the process.

     body.editAsText().deleteText(14, 25);

    // Get the body section of the active document.

    var body = DocumentApp.getActiveDocument().getBody();

    // Define the search parameters.

    var searchType = DocumentApp.ElementType.PARAGRAPH;

    var searchHeading = DocumentApp.ParagraphHeading.HEADING1;

    var searchResult = null;

    // Search until the paragraph is found.

    while (searchResult = body.findElement(searchType, searchResult)) {

    var par = searchResult.getElement().asParagraph();

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    6/19

    Parameters

    Name Type Description

    elementType ElementType the type of element to search for

    from RangeElement the search result to search from

    Return

    RangeElement — a search result indicating the next position of the search element

    findText(searchPattern)

    Searches the contents of the element for the specied text pattern using regular expressions.

    A subset of the JavaScript regular expression features are not fully supported, such as capture

    groups and mode modiers.

    The provided regular expression pattern is independently matched against each text block

    contained in the current element.

    Parameters

    Name Type Description

    searchPattern String the pattern to search for

    Return

    RangeElement — a search result indicating the position of the search text, or null if there is no

    match

    if (par.getHeading() == searchHeading) {

    // Found one, update and stop.

      par.setText('This is the first header.');

    return;

    }

    }

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    7/19

    findText(searchPattern, from)

    Searches the contents of the element for the specied text pattern, starting from a given search

    result.

    A subset of the JavaScript regular expression features are not fully supported, such as capture

    groups and mode modiers.

    The provided regular expression pattern is independently matched against each text block

    contained in the current element.

    Parameters

    Name Type Description

    searchPattern String the pattern to search for

    from RangeElement the search result to search from

    Return

    RangeElement — a search result indicating the next position of the search text, or null if there is

    no match

    getAttributes()

    Retrieves the element's attributes.

    The result is an object containing a property for each valid element attribute where each property

    name corresponds to an item in the DocumentApp.Attribute enumeration.

    var body = DocumentApp.getActiveDocument().getBody();

    // Append a styled paragraph.

    var par = body.appendParagraph('A bold, italicized paragraph.');

     par.setBold(true);

     par.setItalic(true);

    // Retrieve the paragraph's attributes.

    var atts = par.getAttributes();

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    8/19

    Return

    Object — the element's attributes

    getBorderColor()

    Retrieves the border color.

    Return

    String — the border color

    getBorderWidth()

    Retrieves the border width, in points.

    Return

    Number — the border width, in points

    getCell(rowIndex, cellIndex)

    Retrieves the TableCell at the specied row and cell indices.

    Parameters

    Name Type Description

    rowIndex Integer the index of the row containing the cell to retrieve

    cellIndex Integer the index of the cell to retrieve

    // Log the paragraph attributes.

    for (var att in atts) {

    Logger.log(att + ":" + atts[att]);

    }

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    9/19

    Return

    TableCell — the table cell

    getChild(childIndex)

    Retrieves the child element at the specied child index.

    Parameters

    Name Type Description

    childIndex Integer the index of the child element to retrieve

    Return

    Element — the child element at the specied index

    getChildIndex(child)

    Retrieves the child index for the specied child element.

    Parameters

    Name Type Description

    // Get the body section of the active document.

    var body = DocumentApp.getActiveDocument().getBody();

    // Obtain the first element in the document.

    var firstChild = body.getChild(0);

    // If it's a paragraph, set its contents.

    if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) {

      firstChild.asParagraph().setText("This is the first paragraph.");

    }

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    10/19

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    11/19

    getNumChildren()

    Retrieves the number of children.

    Return

    Integer — the number of children

    getNumRows()

    Retrieves the number of TableRows.

    Return

    Integer — the number of table rows

    getParent()

    Retrieves the element's parent element.

    The parent element contains the current element.

    Return

    ContainerElement — the parent element

    getPreviousSibling()

    // Get the body section of the active document.

    var body = DocumentApp.getActiveDocument().getBody();

    // Log the number of elements in the document.

    Logger.log("There are " + body.getNumChildren() +

    " elements in the document body.");

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    12/19

    Retrieves the element's previous sibling element.

    The previous sibling has the same parent and precedes the current element.

    Return

    Element — the previous sibling element

    getRow(rowIndex)

    Retrieves the TableRow at the specied row index.

    Parameters

    Name Type Description

    rowIndex Integer the index of the row to retrieve

    Return

    TableRow — the table row

    getText()

    Retrieves the contents of the element as a text string.

    Return

    String — the contents of the element as text string

    getTextAlignment()

    Gets the text alignment. The available types of alignment are

    DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT, and

    DocumentApp.TextAlignment.SUPERSCRIPT.

    Return

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    13/19

    TextAlignment — the type of text alignment, or null if the text contains multiple types of text

    alignments or if the text alignment has never been set

    getType()

    Retrieves the element's ElementType.

    Use getType() to determine the exact type of a given element.

    Return

    ElementType — the element type

    insertTableRow(childIndex)

    Creates and inserts a new TableRow at the specied index.

    Parameters

    Name Type Description

    childIndex Integer the index at which to insert the element

    Return

    var body = DocumentApp.getActiveDocument().getBody();

    // Obtain the first element in the document body.

    var firstChild = body.getChild(0);

    // Use getType() to determine the element's type.

    if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) {

    Logger.log('The first element is a paragraph.');

    } else {

    Logger.log('The first element is not a paragraph.');

    }

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    14/19

    TableRow — the current element

    insertTableRow(childIndex, tableRow)

    Inserts the given TableRow at the specied index.

    Parameters

    Name Type Description

    childIndex Integer the index at which to insert the element

    tableRow TableRow the table row to insert

    Return

    TableRow — the inserted table row element

    isAtDocumentEnd()

    Determines whether the element is at the end of the Document.

    Return

    Boolean — whether the element is at the end of the document

    removeChild(child)

    Removes the specied child element.

    Parameters

    Name Type Description

    child Element the child element to remove

    Return

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    15/19

    Table — the current element

    removeFromParent()

    Removes the element from its parent.

    Return

    Table — the removed element

    removeRow(rowIndex)

    Removes the TableRow at the specied row index.

    Parameters

    Name Type Description

    rowIndex Integer the index of the row to remove

    Return

    TableRow — the removed row

    replaceText(searchPattern, replacement)Replaces all occurrences of a given text pattern with a given replacement string, using regular

    expressions.

    var body = DocumentApp.getActiveDocument().getBody();

    // Remove all images in the document body.

    var imgs = body.getImages();

    for (var i = 0; i < imgs.length; i++) {

      imgs[i].removeFromParent();

    }

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    16/19

    A subset of the JavaScript regular expression features are not fully supported, such as capture

    groups and mode modiers.

    The provided regular expression pattern is independently matched against each text block

    contained in the current element.

    Parameters

    Name Type Description

    searchPattern String the regex pattern to search for

    replacement String the text to use as replacement

    Return

    Element — the current element

    setAttributes(attributes)

    Sets the element's attributes.

    The speci

    ed attributes parameter must be an object where each property name is an item in theDocumentApp.Attribute enumeration and each property value is the new value to be applied.

    var body = DocumentApp.getActiveDocument().getBody();

    // Clear the text surrounding "Apps Script", with or without text.

     body.replaceText("^.*Apps ?Script.*$", "Apps Script");

    var body = DocumentApp.getActiveDocument().getBody();

    // Define a custom paragraph style.

    var style = {};

     style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =

    DocumentApp.HorizontalAlignment.RIGHT; style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';

     style[DocumentApp.Attribute.FONT_SIZE] = 18;

     style[DocumentApp.Attribute.BOLD] = true;

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    17/19

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    18/19

    Name Type Description

    width Number the border width, in points

    Return

    Table — the current element

    setColumnWidth(columnIndex, width)

    Sets the width of the specied column, in points.

    Parameters

    Name Type Description

    columnIndex Integer the column index

    width Number the border width, in points

    Return

    Table — the current element

    setLinkUrl(url)

    Sets the link url.

    Parameters

    Name Type Description

    url String the link url

    Return

    Table — the current element

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...

    f 19 12/26/2015 8:01 PM

  • 8/20/2019 Class Table  _  Apps Script  _  Google Developers

    19/19

    setTextAlignment(textAlignment)

    Sets the text alignment. The available types of alignment are

    DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT, and

    DocumentApp.TextAlignment.SUPERSCRIPT.

    Parameters

    Name Type Description

    textAlignment TextAlignment the type of text alignment to apply

    Return

    Table — the current element

    Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and 

    code samples are licensed under the Apache 2.0 License. For details, see our Site Policies.

    Last updated May 19, 2015.

    // Make the entire first paragraph be superscript.

    var text = DocumentApp.getActiveDocument().getBody().getParagraphs()[0].editAsT

      text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);

    ss Table | Apps Script | Google Developers https://developers.google.com/apps-script/reference/document/table#fi...