如何仅在 textrun 中替换文本

how do I replace text only within a textrun

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

如何仅替换 TextRun 中的文本或逐行或逐段替换文本?

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

Screenshot of table in slide

这是我现在设置的批量更新请求。我只是不知道如何让范围始终在 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
  }
}

]

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