【问题标题】:Google Script: Attach a script to a dynamically added image in a spreadsheetGoogle 脚本:将脚本附加到电子表格中动态添加的图像
【发布时间】:2020-11-04 07:05:44
【问题描述】:

我正在使用 Google Script 构建一个基于 Google 电子表格的应用程序。它所做的其中一件事是输出一系列附加到行中的父项的项。我希望用户能够通过单击也为每一行生成的图像来打开这些项目的编辑界面。

在 Google 表格中,您可以右键单击插入的图像以打开上下文菜单并将脚本附加到它。 Google Script 允许您使用 assignScript 方法将脚本分配给工作表中的图像,但由于某种原因,当您调用该函数时,它会弹出此错误:“Script function 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);

【问题讨论】:

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


    【解决方案1】:

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

    发件人:

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

    收件人:

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

    参考:

    【讨论】:

      【解决方案2】:

      响应后人:.assignScript 中的函数名称需要用引号封装。如果能将其记录在某处会很酷。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多