将图片替换为Google文档中的表格

erry

我想用Google文档中包含该图像的表替换选定的图像。当我运行代码时,没有表格插入到Google文档中。

    function insertImage(ID, caption) {
    var selection = DocumentApp.getActiveDocument().getSelection();
    if (selection) {
        var elements = selection.getSelectedElements();
        var tImg = elements[0].getElement();
        var cells = [
            [tImg.asInlineImage(), ID+': '+caption]
        ];
        var parentElement = tImg.getParent();
        parentElement.insertTable(parentElement.getChildIndex(tImg) + 1, cells)
        tImg.removeFromParent();
    }
}

不会删除图像,也不会添加表格。谢谢!

Tanaike
  • 您想要将选定的图像替换为表格。
  • 您要将选定的图像移到插入表的单元格的第一列。文本放在第二栏中。

如果我对您的问题的理解是正确的,那么此修改如何?

修改要点:

  • 方法insertTable()是类主体的方法。
  • 需要将图像的位置作为文档正文的子索引来检索。
  • 插入表格后,将图像插入到插入表格的单元格中。
  • 在此修改中,当删除图像时,它将删除图像的段落。这样,可以在不包括换行符的情况下将图像替换到表格中。这种情况与在单元格中插入图像相同。
  • getSelectedElements()不推荐使用。所以请使用getRangeElements()

当以上几点反映到脚本中时,它如下所示。

修改后的脚本:

function insertImage(ID, caption) {
//  ID = "sample ID"; // for sample
//  caption = "sample caption"; // for sample

  var doc = DocumentApp.getActiveDocument(); // Added
  var body = doc.getBody(); // Added
  var selection = doc.getSelection(); // Modified
  if (selection) {
    var elements = selection.getRangeElements(); // Modified
    var e = elements[0].getElement(); // Modified
    if (e.getType() == DocumentApp.ElementType.INLINE_IMAGE) { // Added
      var tImg = e.asInlineImage(); // Modified
      var parentElement = tImg.getParent();
      var cells = [["", ID + ': ' + caption]]; // Modified
      var table = body.insertTable(body.getChildIndex(parentElement), cells); // Modified
      var cell = table.getCell(0, 0); // Added
      cell.insertImage(0, tImg.getBlob()).getParent().asParagraph().getNextSibling().removeFromParent(); // Added
      tImg.getParent().asParagraph().removeFromParent(); // Modified
    }
  }
}
输入:

在此处输入图片说明

输出:

在此处输入图片说明

注意:

  • 在脚本中,使用了所选元素的第一个图像。所以我遵循了这一点。

参考文献:

如果这不是您想要的,请告诉我。我想修改它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Google 表格中,将逗号替换为句点并添加 EUR

Google文档格式设置,将文本转换为表格

将多个换行符替换为Google文档中的一个

自动将ID替换为名称(Excel / Google文档)

Google表格脚本将getUsername()的值替换为缩写

Google Apps脚本->将文档中的文本写入表格

在Word文档的表格中搜索文本,然后将其替换为图像

使用javascript将文字替换为图片

将图片替换为JPG图片文件,但保留元数据?

Google文档-将大型docx文件转换为Google云端硬盘中的Google文档

将两列表格转换为Google表格中的一列表格

将多行转换为Google表格中的列

将列转换为Google表格中的行

将数字输入转换为 Google 表格中的字符

将矩阵转换为Google表格中的行的公式

通过网络应用上传图片后,将Google云端硬盘中的图片链接插入Google表格中

在单元格中查找文本并将其替换为Google脚本和Google表格

将已添加到Google云端硬盘的图片的链接插入到Google表格中

将所选的下拉列表选项替换为Google表格上onEdit的相应代码

在 Google 表格中嵌入 Google 文档

搜索并替换为文档中的行

如何使用Apache POI将Excel文档中的区域转换为表格?

如何使用Google表格中的数据将数组插入Google文档?

将Google文档的URL粘贴到Google表格中,并自动获取标题和字数

如何将表格 A_B 中的字符串替换为表格 B_A 中的字符串?

如何使用R将合并文档中的列标题替换为文件目录?

Rails 4,将“ \ n”替换为“
” 用于Excel中的XML电子表格

终端将一个文档中的所有文本替换为另一个文档的方法?

将 CSV 中的 ':' 替换为 ','