任务:在网络应用程序中打开一个谷歌电子表格,在该电子表格中选择一部分值,然后单击我的网络应用程序上的按钮,我应该得到选定的值。
我尝试通过 Google App 脚本(以下代码)来实现这一点。当我从在线运行脚本并在另一个选项卡中打开电子表格时,这可以正常工作。
function doGet()
{
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getActiveRange().getValues();
//Logger.log(data.length);
for (var i = 0; i < data.length; i++)
{
var output = HtmlService.createHtmlOutput("Product name: " + data[i][0] + ", Quantity:" + data[i][1]);
}
//Logger.log(output.getContent());
return HtmlService.createHtmlOutput(output);
};
但是,当我尝试将脚本部署为 Web 应用程序并在单击 Web 应用程序中的按钮时将发布的 url 作为表单的操作时。它不工作。
<form action="https://script.google.com/macros/...." method="get">
<input type="submit" value="call">
</form>
我在我的 web 应用程序中添加了上面的代码,电子表格在其中打开并显示!
现在,当我从我的网络应用程序中单击“调用”按钮时,它会引发错误“TypeError:无法调用 null 的方法“getActiveRange”。”
我该如何解决?