Search code examples
google-apps-scriptgoogle-sheetstext-formatting

Changing font-weight of partial cell value in Google Sheet using Google App script


To change the font weight of cell value in a Google trix using Google App script, I am using 'setFontWeight'. However, if I need to make a given word in bold, and not the entire cell value. Please see the expected result in image below -

enter image description here

How can I change font-weight of partial cell value in Google Sheet using Google App script ?


Solution

  • According the the yesterday's release notes (January 22, 2019), the Spreadsheet Service was extended to include new classes like RichTextValue which makes now possible to set formatting for partial text.

    Example from Class RichTextValueBuilder

    // Creates a Rich Text value for the text "HelloWorld", with "Hello" bolded, and "World"
    // italicized.
    var bold = SpreadsheetApp.newTextStyle().setBold(true).build();
    var italic = SpreadsheetApp.newTextStyle().setItalic(true).build();
    var value = SpreadsheetApp.newRichTextValue()
        .setText("HelloWorld")
        .setTextStyle(0, 5, bold)
        .setTextStyle(5, 10, italic)
        .build();