Google脚本:将脚本附加到电子表格中动态添加的图像上

时间:2020-11-03 20:53:20

标签: javascript google-apps-script google-sheets

我正在Google脚本中构建一个基于Google Spreadsheet的应用程序。它要做的一件事是输出选择的附加到行中的父项的项。我希望用户能够通过单击每行也生成的图像来打开这些项目的编辑界面。

在Google表格中,您可以右键单击插入的图像以打开上下文菜单并将脚本附加到该菜单。 Google脚本允许您使用assignScript方法将脚本分配给工作表中的图像,但是由于某些原因,当您调用该函数时,它将弹出此错误:“脚本函数function editContract(){ Logger.log(“合同编辑”) }找不到”

这是代码。没什么复杂的!

var fileId = '17-6V_HBlSGwHW-_NeLzUo5kizxxrYOjG';
var img = DriveApp.getFileById(fileId).getBlob();
// Insert the image in cell.
searchSheet.insertImage(img, 10, writeRow);    
// now we need to attach a script to that image  
images = searchSheet.getImages(); 
images[images.length - 1].assignScript(editContract);

2 个答案:

答案 0 :(得分:2)

响应后代:.assignScript中的函数名称需要用引号引起来。将其记录在某处会很酷。

答案 1 :(得分:1)

assignScript(functionName)的参数是字符串值。我认为这是您遇到问题的原因。因此,请在您的脚本中进行如下修改。

发件人:

images[images.length - 1].assignScript(editContract);
  • 在这种情况下,直接放置函数脚本。这样,当单击创建的按钮时,我认为当单击该按钮时,会显示这样的错误消息。

收件人:

images[images.length - 1].assignScript("editContract");
  • 请像上面一样将函数名称设置为字符串值。

参考: