RichTextValueBuilder

A builder for Rich Text values.

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#build()` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value` | Creates a Rich Text value from this builder. |
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setLinkUrl(Integer,Integer,String)` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` | Sets the link URL for the given substring of this value, or clears it if `linkUrl` is `null`. |
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setLinkUrl(String)` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` | Sets the link URL for the entire value, or clears it if `linkUrl` is `null`. |
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setText(String)` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` | Sets the text for this value and clears any existing text style. |
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setTextStyle(Integer,Integer,TextStyle)` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` | Applies a text style to the given substring of this value. |
| `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setTextStyle(TextStyle)` | `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` | Applies a text style to the entire value. |

## Detailed documentation

### `build()`

Creates a Rich Text value from this builder.

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value` --- A Rich Text value created from this builder.

*** ** * ** ***

### `setLinkUrl(startOffset, endOffset, linkUrl)`

Sets the link URL for the given substring of this value, or clears it if `linkUrl` is
`null`.

```javascript
// Creates a Rich Text value for the text "foo no baz" with "foo" pointing to
// "https://bar.foo" and "baz" to "https://abc.xyz".
// "foo" is underlined with the default link color, whereas "baz" has its text
// style overridden by a call to `setTextStyle`, and is therefore black and bold
// with no underlining.
const boldStyle = SpreadsheetApp.newTextStyle()
                      .setUnderline(false)
                      .setBold(true)
                      .setForegroundColor('#000000')
                      .build();
const value = SpreadsheetApp.newRichTextValue()
                  .setText('foo no baz')
                  .setLinkUrl(0, 3, 'https://bar.foo')
                  .setLinkUrl(7, 10, 'https://abc.xyz')
                  .setTextStyle(7, 10, boldStyle)
                  .build();
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `startOffset` | `Integer` | The start offset for the substring, inclusive. |
| `endOffset` | `Integer` | The end offset for the substring, exclusive. |
| `linkUrl` | `String` | The link URL being set. |

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` --- This builder, for chaining.

*** ** * ** ***

### `setLinkUrl(linkUrl)`

Sets the link URL for the entire value, or clears it if `linkUrl` is `null`.

```javascript
// Creates a Rich Text value for the text "Foo" which points to
// "https://bar.foo".
const value = SpreadsheetApp.newRichTextValue()
                  .setText('Foo')
                  .setLinkUrl('https://bar.foo')
                  .build();
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `linkUrl` | `String` | The link URL being set. |

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` --- This builder, for chaining.

*** ** * ** ***

### `setText(text)`

Sets the text for this value and clears any existing text style. When creating a new Rich Text
value, this should be called before `https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#setTextStyle(Integer,Integer,TextStyle)`.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `text` | `String` | The text for this value. |

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` --- This builder, for chaining.

*** ** * ** ***

### `setTextStyle(startOffset, endOffset, textStyle)`

Applies a text style to the given substring of this value. Offsets are 0 based and are relative
to the cell's text value. Does nothing if `textStyle` is `null`.

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

#### Parameters

| Name | Type | Description |
|---|---|---|
| `startOffset` | `Integer` | The start offset for the substring, inclusive. |
| `endOffset` | `Integer` | The end offset for the substring, exclusive. |
| `textStyle` | `https://developers.google.com/apps-script/reference/spreadsheet/text-style` | The text style being set. |

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` --- This builder, for chaining.

*** ** * ** ***

### `setTextStyle(textStyle)`

Applies a text style to the entire value. Previously set text styles are only affected if they
are directly overwritten by values within `textStyle`. Does nothing if `textStyle`
is `null`.

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

#### Parameters

| Name | Type | Description |
|---|---|---|
| `textStyle` | `https://developers.google.com/apps-script/reference/spreadsheet/text-style` | The text style being set. |

#### Return


`https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value-builder#` --- This builder, for chaining.