gpt4 book ai didi

google-apps-script - 谷歌文档脚本,搜索和替换文本字符串并更改字体(例如,粗体)

转载 作者:行者123 更新时间:2023-12-04 17:46:29 24 4
gpt4 key购买 nike

我是谷歌文档脚本的新手。

在谷歌文档中,我需要搜索几个文本字符串(例如,lightface 字体中的“学生 1”)以将这些文本字符串替换为另一个文本字符串(例如,“ 学生 A ”),但在粗体 字体。

要搜索和替换,我使用以下代码:

function docReplace() {

var body = DocumentApp.getActiveDocument().getBody();
// change "student 1" to "Student A" in boldface
body.replaceText("student 1", "Student A");

}

上面的代码仅使用谷歌文档的当前字体将“学生 1”替换为“学生 A”,但我不知道如何将字体从浅色更改为粗体。

我试过
body.replaceText("student 1", "<b>Student A</b>");

当然,上面的代码不起作用。

任何帮助将非常感激。谢谢你。

最佳答案

用粗体的新文本字符串(例如,“ 学生 A ”)替换在谷歌文档中出现多次的文本字符串(例如,“学生 1”)的行人方法是两个步骤:

1- 编写一个函数(称为 docReplace)以使用常规/普通字体(无粗体)进行搜索和替换:

function docReplace() {

var body = DocumentApp.getActiveDocument().getBody();
// change "student 1" to "Student A"
body.replaceText("student 1", "Student A");

}

2- 编写一个函数(称为boldfaceText)来搜索所需的文本(例如“Student A”)和该文本的两个偏移值(即startOffset 和endOffsetInclusive)在每次出现时设置字体将这些偏移值内的字符设为粗体:
function boldfaceText(findMe) {

// put to boldface the argument
var body = DocumentApp.getActiveDocument().getBody();
var foundElement = body.findText(findMe);

while (foundElement != null) {
// Get the text object from the element
var foundText = foundElement.getElement().asText();

// Where in the Element is the found text?
var start = foundElement.getStartOffset();
var end = foundElement.getEndOffsetInclusive();

// Change the background color to yellow
foundText.setBold(start, end, true);

// Find the next match
foundElement = body.findText(findMe, foundElement);
}

}

上述粗体文本代码的灵感来自于帖子 Finding text (multiple times) and highlighting .

字符的偏移值只是描述该字符在文档中的位置的整数,第一个字符的偏移值是 1(就像字符的坐标)。

使用“Student A”作为调用函数boldfaceText的参数,即,
boldfaceText("Student A");

可以嵌入到函数 docReplace 中,即
function docReplace() {

var body = DocumentApp.getActiveDocument().getBody();
// change "student 1" to "Student A"
body.replaceText("student 1", "Student A");

// set all occurrences of "Student A" to boldface
boldfaceText("Student A");

}

在谷歌文档中,只需运行脚本 docReplace 即可将所有出现的“学生 1”更改为“ 学生 A ”(黑体)。

以上两个函数(docReplace 和boldfaceText)可能是向新手(像我一样)介绍google doc 脚本的好方法。在使用 google doc 脚本一段时间以熟悉之后,学习 Robin 的更优雅和高级的代码,它一次完成上述两个步骤。

关于google-apps-script - 谷歌文档脚本,搜索和替换文本字符串并更改字体(例如,粗体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com