通过库实施时,Google Apps脚本功能无效

时间:2016-11-28 07:28:21

标签: google-apps-script

我在Google Apps脚本编程的开头就是对的,我有一个真正的问题,希望有人可以帮助我。昨天我花了很多时间试图解决这个问题,但我是在圈子里。

我写了一个绑定到Google Doc的脚本。从自定义菜单中我调用一个html表单,我收集必要的信息。

function initiateInvoice() {
  var html = HtmlService.createHtmlOutputFromFile('askQu.html')
    .setWidth(800)
    .setHeight(500);
  DocumentApp.getUi()
    .showModalDialog(html, 'Daten Eingabe');
}

此表单有一个“提交”按钮和一个“退出”按钮。

<input class="action" onclick="formSubmit()" type="button" value="Submit" />
<input onclick="google.script.host.close()" type="button" value="Exit" />

按下“提交”按钮时调用的脚本是

<script type="text/javascript">
  function formSubmit() {
    google.script.run.getValuesFromForm(document.forms[0]);
    google.script.host.close();
  }
</script>

函数getValuesFromForm然后执行我需要做的事情。并且html表单已关闭。发生的事情是一些计算,然后用文本或数字替换占位符。我不认为这是相关的,但可以根据需要提供所需的任何代码。

这一切都与我希望的完全一样。

但是现在我已将所有代码和html移动到一个额外的库中(除了调用自定义菜单)。通过自定义菜单调用时,表单仍然显示,但表单中的提交按钮不再具有任何功能。 “退出”按钮仍然有效。我已经尝试从调用的函数中删除所有内容,以便它什么都不做(确保它没有被调用并挂起)但是这没有帮助。

我猜表单中的javascript无效或无法到达我的函数getValuesFromForm,但我真的不知道在哪里查看或做什么。

我非常感谢任何人可以给我的任何帮助或提示。谢谢。 来自巴伐利亚阿尔卑斯山的问候。

尼尔

1 个答案:

答案 0 :(得分:2)

google.script.run无法从库中运行函数,只能从同一项目中的.gs文件运行。

如果必须在库中包含逻辑代码,则必须在本地.gs文件中创建函数以调用相关的库函数,以及可以使用google.script.run调用的本地函数