如何仅在textrun

时间:2018-03-12 16:51:35

标签: python google-slides-api

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

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

我在这里添加图片。你可以看到,在第一行我有一个需要更新的大粗体号码,在第二行我有3个需要更新的项目。 1.是/否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
  }
}

1 个答案:

答案 0 :(得分:0)

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