AppsScript - 在 Google 表格上复制“将图像放入所选单元格”

byl*_*.05 3 google-sheets google-apps-script

我目前正在通过 AppsScript 函数InsertImage在 Google Sheets 中插入多个图像

使用它,该函数将图像插入到单元格上方(而不是单元格内部)。我可以通过单击三个点按钮,然后选择“将图像放入选定的单元格中”(如此链接所示),将该图像插入到单元格

这里的问题是如何通过 AppsScript(或其他编码/脚本方法)复制这种“将图像放入选定单元格”的行为,以便我可以自动执行此操作。

我不能选择使用公式 IMAGE,因为该公式不允许我在使用 iOS 表格应用程序时看到插入的图像...

The*_*ter 5

问题追踪器:

目前应用程序脚本中没有方法可以在单元格中插入图像。这里有一个开放的功能请求。考虑添加一个星号(在左上角),以便 Google 优先考虑该问题。

解决方法:

这里我们使用=IMAGE()公式插入图像并复制粘贴值以获得原始图像。我在这里和问题跟踪器的评论#65中提到了这一点。

示例脚本:

const insertInCellImage_ = (url, rg) => {
  rg.setValue(`=IMAGE("${url}")`);
  SpreadsheetApp.flush();
  rg.copyTo(rg, { contentsOnly: true });
};

/*Inserts Google logo in Sheet1!A1*/
const test1 = () =>
  insertInCellImage_(
    'https://www.google.com/images/srpr/logo3w.png',
    SpreadsheetApp.getActive()
      .getSheetByName('Sheet1')
      .getRange(1, 1)
  );
Run Code Online (Sandbox Code Playgroud)