表示富文本区域的元素。Document
中的所有文本都包含在 Text
元素中。
Text
元素可以包含在 Equation
、EquationFunction
、
ListItem
或 Paragraph
,但不能包含任何其他元素。有关
有关文档结构的信息,请参阅扩展 Google 文档指南。
// Gets the body contents of the active tab. var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Use editAsText to obtain a single text element containing // all the characters in the tab. var text = body.editAsText(); // Insert text at the beginning of the tab. text.insertText(0, 'Inserted text.\n'); // Insert text at the end of the tab. text.appendText('\nAppended text.'); // Make the first half of the tab blue. text.setForegroundColor(0, text.getText().length / 2, '#00FFFF');
方法
详细文档
appendText(text)
将指定文本添加到此文本区域的末尾。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Adds the text, 'Sample body text,' to the end of the tab body. const text = body.editAsText().appendText('Sample body text');
参数
名称 | 类型 | 说明 |
---|---|---|
text | String | 要附加的文本。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
copy()
deleteText(startOffset, endOffsetInclusive)
删除一系列文本。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Deletes the first 10 characters in the body. const text = body.editAsText().deleteText(0, 9);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 要删除的第一个字符的偏移量。 |
endOffsetInclusive | Integer | 要删除的最后一个字符的字符偏移量。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
editAsText()
获取当前元素的 Text
版本,以便进行修改。
使用 editAsText
可将元素内容处理为富文本格式。editAsText
模式会忽略非文本元素(例如 InlineImage
和 HorizontalRule
)。
完全包含在已删除文本范围内的子元素会从相应元素中移除。
var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().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."); // Delete " sample.\n\n An" removing the horizontal rule in the process. body.editAsText().deleteText(14, 25);
返回
Text
- 当前元素的文本版本
findText(searchPattern)
使用正则表达式搜索指定文本格式的元素内容。
部分 JavaScript 正则表达式功能尚不完全受支持,例如 捕获组和模式修饰符。
所提供的正则表达式格式会与每个文本块独立进行匹配 当前元素中包含的某些内容。
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的模式 |
返回
RangeElement
- 表示搜索文本位置的搜索结果;如果没有搜索文本的位置,则为 null
匹配
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findText(searchPattern, from)
搜索指定文本格式的元素内容,从指定的 搜索结果。
部分 JavaScript 正则表达式功能尚不完全受支持,例如 捕获组和模式修饰符。
所提供的正则表达式格式会与每个文本块独立进行匹配 当前元素中包含的某些内容。
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的模式 |
from | RangeElement | 要搜索的搜索结果 |
返回
RangeElement
- 表示搜索文本下一个位置的搜索结果;如果没有搜索文本的下一个位置,则返回 null。
匹配
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAttributes()
检索元素的属性。
结果会得到一个对象,其中包含每个有效元素属性对应的属性,其中每个
属性名称对应于 DocumentApp.Attribute
枚举中的一个项。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.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(); // Log the paragraph attributes. for (var att in atts) { Logger.log(att + ":" + atts[att]); }
返回
Object
- 元素的属性。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAttributes(offset)
检索指定字符偏移量的属性。
返回的结果是一个对象,其中包含每个有效文本属性的属性,其中每个
属性名称对应于 DocumentApp.Attribute
枚举中的一个项。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Declares style attributes. const style = {} style[DocumentApp.Attribute.BOLD] = true; style[DocumentApp.Attribute.ITALIC] = true; style[DocumentApp.Attribute.FONT_SIZE] = 29; // Sets the style attributes to the tab's body. const text = body.editAsText(); text.setAttributes(style); // Gets the style attributes applied to the eleventh character in the // body and logs them to the console. const attributes = text.getAttributes(10); console.log(attributes);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Object
- 元素的属性。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getBackgroundColor()
检索背景颜色设置。
返回
String
- 背景颜色,采用 CSS 表示法格式(例如 '#ffffff'
)或 null
如果该元素包含此属性的多个值
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getBackgroundColor(offset)
检索指定字符偏移量处的背景颜色。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the background color of the first 3 characters in the body. const text = body.editAsText().setBackgroundColor(0, 2, '#FFC0CB'); // Gets the background color of the first character in the body. const backgroundColor = text.getBackgroundColor(0); // Logs the background color to the console. console.log(backgroundColor);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
String
- 背景颜色,采用 CSS 表示法格式(例如 '#ffffff'
)。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getFontFamily()
检索字体系列设置。该名称可以是 Google 文档或 Google Fonts 的“字体”菜单中的任何字体,并且区分大小写。getFontFamily()
和 setFontFamily(fontFamilyName)
方法现在使用字符串名称作为字体,而不是
枚举。虽然这个枚举
已弃用,但您仍可继续使用它,以便与旧版脚本兼容。FontFamily
返回
String
- 字体系列;如果元素包含此属性的多个值,则返回 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getFontFamily(offset)
检索指定字符偏移量处的字体系列。该名称可以是
Google 文档或 Google Fonts 中的字体菜单,并且目前
区分大小写。getFontFamily()
和 setFontFamily(fontFamilyName)
方法
现在使用字符串名称作为字体,而不是
枚举。虽然这个枚举
已弃用,但您仍可继续使用它,以便与旧版脚本兼容。
FontFamily
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the font of the first 16 characters to Impact. const text = body.editAsText().setFontFamily(0, 15, 'Impact'); // Gets the font family of the 16th character in the tab body. const fontFamily = text.getFontFamily(15); // Logs the font family to the console. console.log(fontFamily);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
String
- 字体系列。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getFontSize()
检索字体大小设置。
返回
Number
- 字体大小;如果元素包含此属性的多个值,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getFontSize(offset)
检索指定字符偏移量处的字体大小。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the font size of the first 13 characters to 15. const text = body.editAsText().setFontSize(0, 12, 15); // Gets the font size of the first character. const fontSize = text.getFontSize(0); // Logs the font size to the console. console.log(fontSize);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Number
- 字体大小。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getForegroundColor()
检索前景色设置。
返回
String
- 前景色,采用 CSS 表示法格式(例如 '#ffffff'
)或 null
如果该元素包含此属性的多个值
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getForegroundColor(offset)
检索指定字符偏移量处的前景色。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the foreground color of the first 3 characters in the tab body. const text = body.editAsText().setForegroundColor(0, 2, '#0000FF'); // Gets the foreground color of the first character in the tab body. const foregroundColor = text.getForegroundColor(0); // Logs the foreground color to the console. console.log(foregroundcolor);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
String
- 前景色,采用 CSS 表示法格式(例如 '#ffffff'
)。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getLinkUrl()
检索链接网址。
返回
String
- 链接网址;如果元素包含此属性的多个值,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getLinkUrl(offset)
检索位于指定字符偏移量的链接网址。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Applies a link to the first 10 characters in the body. const text = body.editAsText().setLinkUrl(0, 9, 'https://www.example.com/'); // Gets the URL of the link from the first character. const link = text.getLinkUrl(0); // Logs the link URL to the console. console.log(link);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
String
- 链接网址。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNextSibling()
getParent()
获取该元素的父元素。
父元素包含当前元素。
返回
ContainerElement
- 父元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPreviousSibling()
getText()
检索文本字符串形式的元素内容。
返回
String
- 文本字符串形式的元素内容
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTextAlignment()
获取文本对齐方式。可用的对齐类型包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
返回
TextAlignment
- 文本的对齐方式类型;如果文本包含多种类型的文本,则为 null
对齐方式,或者从未设置文本对齐方式
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTextAlignment(offset)
获取单个字符的文本对齐方式。可用的对齐类型包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the text alignment of the tab's body to NORMAL. const text = body.editAsText().setTextAlignment(DocumentApp.TextAlignment.NORMAL); // Gets the text alignment of the ninth character. const alignment = text.getTextAlignment(8); // Logs the text alignment to the console. console.log(alignment.toString());
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符的偏移量。 |
返回
TextAlignment
- 文本对齐方式的类型,如果未设置文本对齐方式,则为 null
。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTextAttributeIndices()
检索与不同文本格式的开头相对应的文本索引集 。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Gets the text indices at which text formatting changes. const indices = body.editAsText().getTextAttributeIndices(); // Logs the indices to the console. console.log(indices.toString());
返回
Integer[]
- 文本格式改变时的文本索引集。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getType()
检索元素的 ElementType
。
使用 getType()
确定指定元素的确切类型。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.getBody(); // Obtain the first element in the active tab's 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.'); }
返回
ElementType
- 元素类型。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertText(offset, text)
在指定字符偏移量处插入指定文本。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Inserts the text, 'Sample inserted text', at the start of the body content. const text = body.editAsText().insertText(0, 'Sample inserted text');
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 要插入文本的字符偏移量。 |
text | String | 要插入的文本。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isAtDocumentEnd()
isBold()
检索粗体设置。
返回
Boolean
- 文本是否加粗;如果元素包含多个值,则为 null
属性
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isBold(offset)
检索指定字符偏移量处的粗体设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Bolds the first 4 characters in the tab body. const text = body.editAsText().setBold(0, 3, true); // Gets whether or not the text is bold. const bold = text.editAsText().isBold(0); // Logs the text's bold setting to the console console.log(bold);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Boolean
- 粗体设置。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isItalic()
检索斜体设置。
返回
Boolean
- 文本是否为斜体;如果元素包含多个值,则返回 null
属性
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isItalic(offset)
检索指定字符偏移量处的斜体设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 13 characters of the tab body to italic. const text = body.editAsText().setItalic(0, 12, true); // Gets whether the fifth character in the tab body is set to // italic and logs it to the console. const italic = text.isItalic(4); console.log(italic);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Boolean
- 斜体设置。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isStrikethrough()
检索删除线设置。
返回
Boolean
- 文本是否带删除线;如果元素包含多个用于查询的
此属性
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isStrikethrough(offset)
检索指定字符偏移量处的删除线设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 17 characters of the tab body to strikethrough. const text = body.editAsText().setStrikethrough(0, 16, true); // Gets whether the first character in the tab body is set to // strikethrough and logs it to the console. const strikethrough = text.isStrikethrough(0); console.log(strikethrough);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Boolean
- 删除线设置。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isUnderline()
检索下划线设置。
返回
Boolean
- 文本是否带下划线;如果元素包含多个值,则返回 null
此属性
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
isUnderline(offset)
检索指定字符偏移量处的下划线设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 13 characters of the tab body to underline. const text = body.editAsText().setUnderline(0, 12, false); // Gets whether the first character in the tab body is set to // underline and logs it to the console const underline = text.editAsText().isUnderline(0); console.log(underline);
参数
名称 | 类型 | 说明 |
---|---|---|
offset | Integer | 字符偏移量。 |
返回
Boolean
- 下划线设置。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
merge()
将元素与前一个相同类型的同级元素合并。
只能合并同一 ElementType
的元素。文件中包含的
当前元素会移动到前一个同级元素。
当前元素会从文档中移除。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.getBody(); // Example 1: Merge paragraphs // Append two paragraphs to the document's active tab. var par1 = body.appendParagraph('Paragraph 1.'); var par2 = body.appendParagraph('Paragraph 2.'); // Merge the newly added paragraphs into a single paragraph. par2.merge(); // Example 2: Merge table cells // Create a two-dimensional array containing the table's 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. var table = body.appendTable(cells); // Get the first row in the table. var row = table.getRow(0); // Get the two cells in this row. var cell1 = row.getCell(0); var cell2 = row.getCell(1); // Merge the current cell into its preceding sibling element. var merged = cell2.merge();
返回
Text
- 合并的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeFromParent()
将元素从其父元素中移除。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab() var body = documentTab.getBody(); // Remove all images in the active tab's body. var imgs = body.getImages(); for (var i = 0; i < imgs.length; i++) { imgs[i].removeFromParent(); }
返回
Text
- 已移除的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
replaceText(searchPattern, replacement)
使用常规 表达式。
搜索模式作为字符串(而非 JavaScript 正则表达式对象)传递。 因此,您需要对模式中的所有反斜杠进行转义。
此方法使用 Google 的 RE2 常规 表达式库,限制了支持的语法。
所提供的正则表达式格式会与每个文本块独立进行匹配 当前元素中包含的某些内容。
var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Clear the text surrounding "Apps Script", with or without text. body.replaceText("^.*Apps ?Script.*$", "Apps Script");
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的正则表达式模式 |
replacement | String | 要用作替换的文本 |
返回
Element
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setAttributes(startOffset, endOffsetInclusive, attributes)
将指定属性应用于给定的字符范围。
指定的属性参数必须是一个对象,其中每个属性名称都是
DocumentApp.Attribute
枚举,并且每个属性值都是要
。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Declares style attributes for font size and font family. const style = {} style[DocumentApp.Attribute.FONT_SIZE] = 20 ; style[DocumentApp.Attribute.FONT_FAMILY] = 'Impact'; // Sets the style attributes to the first 9 characters in the tab's body. const text = body.setAttributes(0, 8, style);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
attributes | Object | 元素的属性。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setAttributes(attributes)
设置元素的属性。
指定的属性参数必须是一个对象,其中每个属性名称都是
DocumentApp.Attribute
枚举,并且每个属性值都是要
。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.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; // Append a plain paragraph. var par = body.appendParagraph('A paragraph with custom style.'); // Apply the custom style. par.setAttributes(style);
参数
名称 | 类型 | 说明 |
---|---|---|
attributes | Object | 元素的属性。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setBackgroundColor(startOffset, endOffsetInclusive, color)
设置指定字符范围的背景颜色。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the background color of the first 3 characters in the // tab body to hex color #0000FF. const text = body.editAsText().setBackgroundColor(0, 2, '#0000FF');
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
color | String | 背景颜色,采用 CSS 表示法格式(例如 '#ffffff' )。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setBackgroundColor(color)
setBold(bold)
setBold(startOffset, endOffsetInclusive, bold)
指定指定字符范围的粗体设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 11 characters in the tab's body to bold. const text = body.editAsText().setBold(0, 10, true);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
bold | Boolean | 粗体设置。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setFontFamily(startOffset, endOffsetInclusive, fontFamilyName)
设置指定字符范围的字体系列。该名称可以是 Font
菜单,并区分大小写。
无法识别的字体名称将呈现为 Arial。getFontFamily(offset)
方法和
setFontFamily(fontFamilyName)
现在使用字符串名称作为字体,而不是
枚举。虽然这个枚举
已弃用,但您仍可继续使用它,以便与旧版脚本兼容。
FontFamily
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the font of the first 4 characters in the tab's body to Roboto. const text = body.editAsText().setFontFamily(0, 3, 'Roboto');
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
fontFamilyName | String | 字体系列的名称,来自文档或 Google Fonts 的“字体”菜单。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setFontFamily(fontFamilyName)
设置字体系列。该名称可以是 Google 文档或 Google Fonts 的“字体”菜单中的任何字体,并且区分大小写。字体无法识别
名称将呈现为 Arial。getFontFamily()
和 setFontFamily(fontFamilyName)
方法现在使用字符串名称作为字体,而不是
枚举。虽然这个枚举
已弃用,但您仍可继续使用它,以便与旧版脚本兼容。FontFamily
参数
名称 | 类型 | 说明 |
---|---|---|
fontFamilyName | String | 字体系列的名称(位于文档或 Google Fonts 的“字体”菜单中) |
返回
Text
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setFontSize(startOffset, endOffsetInclusive, size)
设置指定字符范围的字体大小。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the size of the first 11 characters in the tab's body to 12. const text = body.editAsText().setFontSize(0, 10, 12);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
size | Number | 字体大小。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setFontSize(size)
setForegroundColor(startOffset, endOffsetInclusive, color)
设置指定字符范围的前景色。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the foreground color of the first 2 characters in the // tab's body to hex color #FF0000. const text = body.editAsText().setForegroundColor(0, 1, '#FF0000'); // Gets the foreground color for the second character in the tab's body. const foregroundColor = text.getForegroundColor(1); // Logs the foreground color to the console. console.log(foregroundColor);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
color | String | 前景色,采用 CSS 表示法格式(例如 '#ffffff' )。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setForegroundColor(color)
setItalic(italic)
setItalic(startOffset, endOffsetInclusive, italic)
为指定字符范围设定斜体设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 11 characters in the tab's body to italic. const text = body.editAsText().setItalic(0, 10, true);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
italic | Boolean | 斜体设置。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setLinkUrl(startOffset, endOffsetInclusive, url)
设置指定字符范围的链接网址。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Applies a link to the first 11 characters in the body. const text = body.editAsText().setLinkUrl(0, 10, 'https://example.com');
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
url | String | 链接网址。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setLinkUrl(url)
setStrikethrough(strikethrough)
setStrikethrough(startOffset, endOffsetInclusive, strikethrough)
为指定字符范围设置删除线。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 11 characters in the tab's body to strikethrough. const text = body.editAsText().setStrikethrough(0, 10, true);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
strikethrough | Boolean | 删除线设置。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setText(text)
设置文本内容。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Replaces the contents of the body with the text, 'New body text.' const text = body.editAsText().setText('New body text.');
参数
名称 | 类型 | 说明 |
---|---|---|
text | String | 新文本内容。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setTextAlignment(startOffset, endOffsetInclusive, textAlignment)
为给定字符范围设置文本对齐方式。可用的对齐类型包括
DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和
DocumentApp.TextAlignment.SUPERSCRIPT
。
// Make the first character in the first paragraph of the active tab be superscript. var documentTab = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab(); var text = documentTab.getBody().getParagraphs()[0].editAsText(); text.setTextAlignment(0, 0, DocumentApp.TextAlignment.SUPERSCRIPT);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 字符范围的起始偏移量。 |
endOffsetInclusive | Integer | 字符范围的结束偏移量(含此值)。 |
textAlignment | TextAlignment | 要应用的文本对齐方式的类型。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setTextAlignment(textAlignment)
设置文本对齐方式。可用的对齐类型包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
// Make the entire first paragraph in the active tab be superscript. var documentTab = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab(); var text = documentTab.getBody().getParagraphs()[0].editAsText(); text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);
参数
名称 | 类型 | 说明 |
---|---|---|
textAlignment | TextAlignment | 要应用的文字对齐方式类型 |
返回
Text
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setUnderline(underline)
setUnderline(startOffset, endOffsetInclusive, underline)
指定指定字符范围的下划线设置。
// Opens the Docs file by its URL. If you created your script from within a // Google Docs file, you can use DocumentApp.getActiveDocument() instead. // TODO(developer): Replace the URL with your own. const doc = DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit'); // Gets the body contents of the tab by its ID. // TODO(developer): Replace the ID with your own. const body = doc.getTab(TAB_ID).asDocumentTab().getBody(); // Sets the first 11 characters in the tab's body to underline. const text = body.editAsText().setUnderline(0, 10, true);
参数
名称 | 类型 | 说明 |
---|---|---|
startOffset | Integer | 文本范围的起始偏移量。 |
endOffsetInclusive | Integer | 文本范围的结束偏移量。 |
underline | Boolean | 下划线设置。 |
返回
Text
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents