如何仅在文本运行中替换文本



我正在使用谷歌幻灯片API自动更新演示文稿,其中包含一些非常详细的表格。我有一个包含多个单元格的表格,在每个单元格中,我有 3 个不同格式的不同行。例如,顶行字体较大,第二行较小且绿色,等等。由于此演示文稿应该每天使用我输入的数据自动更新,因此我确实需要根据 TextRun 长度而不是固定的开始和结束索引设置请求(随着文本的更新,这些开始和结束索引每天都会更改,所以我不能每天手动编辑索引)

如何仅在 TextRun 中替换文本,或者逐行或逐段替换文本?

我在这里添加一个图像。您可以看到,在第一行中,我有一个需要更新的大粗体数字,在第二行中,我有3个需要更新的项目。1. 年/年 2.问/问 3.M/M 我希望能够在不要求每个文本大小相同的情况下执行此操作。

幻灯片中表格的屏幕截图

这是我现在设置的批量更新请求。我只是无法弄清楚如何使范围始终在textRun内,而不是整个单元格。

reqs = [
{
"deleteText": {
"objectId": "g2f8579c174_1_6",
"cellLocation": {
"rowIndex": 1,
"columnIndex": 1,
},
"textRange": {
"type": "ALL",
}
}
},
{
"insertText": {
"objectId": "g2f8579c174_1_6",
"cellLocation": {
"rowIndex": 1,
"columnIndex": 1
},
"text": "texttexttext",
"insertionIndex": 0
}
}

]

我会阅读演示文稿(演示文稿.get或演示文稿.pages.get),找到要更新的运行和索引,然后创建一个批处理更新请求以根据需要更新这些运行。您可以使用 InsertTextRequest 添加新内容,然后使用 DeleteTextRequest 来删除旧内容。它应该自动保留样式。

最新更新