在Google电子表格中,我创建了一个新菜单,用于打开对话框和侧边栏。我希望能够从侧边栏打开对话框

时间:2015-02-16 14:34:41

标签: google-apps-script google-apps

补充工具栏是html。 想象我可以将一个按钮链接到最初从菜单中打开对话框的功能,但没有运气......什么都不做。想知道是否因为函数调用现在在html文件中,而不是在实际的电子表格中?可能?

以下是侧边栏的代码:

<input type="button" value="New Booking" onclick="newContact()" ><p>
<script>
function newContact() {
var html = HtmlService.createHtmlOutputFromFile('Experimental')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
  .setWidth(1050);
  //.setHeight(800);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
  .showModalDialog(html, 'New Contact');}
</script>

1 个答案:

答案 0 :(得分:1)

需要从Google脚本(HtmlService)文件运行.gs代码。它不适用于您在问题中设置的标准JavaScript。从html和javascript,您可以使用google.script.run.newContact()运行.gs函数。当然,您可以将newContact替换为您要运行的任何.gs函数。

.gs代码

 function sideBar(){
  var html = HtmlService.createHtmlOutputFromFile('index')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .setTitle('My custom sidebar')
      .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showSidebar(html);
}
  function newContact() {
var html = HtmlService.createHtmlOutputFromFile('New Contact')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
  .setWidth(1050);
  //.setHeight(800);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
  .showModalDialog(html, 'New Contact');
  }

<强>的index.html

<div>
<input type="button" value="New Booking" onclick="google.script.run.newContact()" ><p>
</div>

新的Contact.html

<div style="width:50px; height:50px; color:red;">
</div>