Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌应用脚本WebApp,操作用户界面_Google Apps Script_Google Apps - Fatal编程技术网

Google apps script 谷歌应用脚本WebApp,操作用户界面

Google apps script 谷歌应用脚本WebApp,操作用户界面,google-apps-script,google-apps,Google Apps Script,Google Apps,大家好 谷歌应用程序脚本可以在很多方面使用。我知道,因为我试过一些,但我不是专家,所以情况是这样的 我已经创建了一个电子表格 使用脚本编辑器附带的新UI构建创建表单。 命名:gtest01 用户界面由以下部分组成: label,id=label\u标题 按钮1,id=按钮隐藏,事件onmouseclick=隐藏标签 按钮2,id=按钮显示,事件onmouseclick=显示标签 按钮3,id=按钮消息,事件onmouseclick=消息消息 现在,代码是: /* This is so whe

大家好

谷歌应用程序脚本可以在很多方面使用。我知道,因为我试过一些,但我不是专家,所以情况是这样的

我已经创建了一个电子表格 使用脚本编辑器附带的新UI构建创建表单。 命名:gtest01
用户界面由以下部分组成:

  • label,id=label\u标题
  • 按钮1,id=按钮隐藏,事件onmouseclick=隐藏标签
  • 按钮2,id=按钮显示,事件onmouseclick=显示标签
  • 按钮3,id=按钮消息,事件onmouseclick=消息消息
现在,代码是:

/* This is so when I want to just deploy it as a [webapp] using the
script editor -> Publish Deploy as Web App
*/
function doGet(e) {
 var app = UiApp.createApplication().setTitle("Sheet Application");
  app.add(app.loadComponent("gtest01"));
  Logger.log("Application UI Loaded");  
  return app;
}

function message_me(e) {  
  Browser.msgBox("my message"); 
}

function hide_label(e) {
  var app = UiApp.getActiveApplication();
  label =app.getElementById("label_caption");
  label.setVisible(false);
}

function show_label(e) {
  var app = UiApp.getActiveApplication();
  label =app.getElementById("label_caption");
  label.setVisible(true);
}

// this code is for when the spreadsheet is shared so they can access the form
function showform_() {
  var app = UiApp.createApplication();
  app.add(app.loadComponent("gtest01"));
  SpreadsheetApp.getActiveSpreadsheet().show(app); 
}

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [];
  menuEntries.push({name: "Show Form", functionName: "showform_"});
  ss.addMenu("e-Test", menuEntries);
}
第一种情况是共享电子表格时

  • 单击菜单时,表单将加载-这很好
  • 当显示和隐藏按钮时,什么都没有发生-为什么以及如何修复 这个
  • 当“消息”按钮处于“单击”状态时,将显示消息,但表单将 关闭,如何在不关闭表单的情况下显示消息
第二种情况是,当发布为Webapp时

  • 当“开发人员链接”处于“访问”状态时,UI将始终更新-确定
  • 当URL链接被访问时,UI总是按原样更新 cache,我怎么能修复这个
  • 在开发链接上:当显示和隐藏按钮时,什么都不会发生-为什么和如何 我能修好这个吗
  • 在开发人员链接上:当消息按钮被单击时,将生成一个错误, 如何在WebApp上显示警报消息
请帮助我搜索和尝试的样本代码和答案在论坛我错过了一些东西

谢谢

尼克·艾斯

第一个场景 当显示和隐藏按钮时,什么都没有发生-我为什么以及如何修复此问题

在您的功能中,最后使用return app。除非返回app对象,否则UI不会更新

如何在不关闭表单的情况下显示消息?-尝试
SpreadsheetApp.getActiveSpreadsheet().toast()

第二种情况

当URL链接被访问时,UI总是像缓存一样被更新,如何修复此问题将最新代码另存为版本

在开发链接:当显示和隐藏按钮什么都没有发生-再次返回应用程序将处理这个问题

在开发人员链接上:当消息按钮打开时,单击…-web应用程序中不支持Browser.msgBox

第一种情况 当显示和隐藏按钮时,什么都没有发生-我为什么以及如何修复此问题

在您的功能中,最后使用return app。除非返回app对象,否则UI不会更新

如何在不关闭表单的情况下显示消息?-尝试
SpreadsheetApp.getActiveSpreadsheet().toast()

第二种情况

当URL链接被访问时,UI总是像缓存一样被更新,如何修复此问题将最新代码另存为版本

在开发链接:当显示和隐藏按钮什么都没有发生-再次返回应用程序将处理这个问题


在开发人员链接上:当消息按钮打开时,单击…-web应用程序中不支持Browser.msgBox

在使用UI时,最好让所有事情都发生在这个UI中,因此尽量避免使用Toast显示消息(因为web应用程序中不支持这些消息)。 因为您使用的是GUI,所以在消息中使用一个最初不可见的标签并使其在处理程序例程中可见应该是非常容易的。 请注意,这种处理程序也可以是客户机处理程序,除非您需要从此操作执行其他操作


至于你问题的其他几点,我们(非常快)的朋友Srik已经彻底回答了;-)

在使用UI时,最好让所有事情都发生在这个UI中,因此尽量避免使用Toast显示消息(因为web应用程序中不支持这些消息)。 因为您使用的是GUI,所以在消息中使用一个最初不可见的标签并使其在处理程序例程中可见应该是非常容易的。 请注意,这种处理程序也可以是客户机处理程序,除非您需要从此操作执行其他操作


至于你问题的其他几点,我们(非常快)的朋友Srik已经彻底回答了;-)

谢谢Serge和Srik,我稍后会试试这个;这是2天前发布的,我想知道为什么stockoverflow不发送邮件通知?无论如何,我会发布我的结果,以便它能对其他人有所帮助。谢谢汉克斯·塞奇和斯瑞克,我稍后会试试这个;这是2天前发布的,我想知道为什么stockoverflow不发送邮件通知?无论如何,我会发布我的结果,以便它能对其他人有所帮助。thnks计划是让UI和电子表格中的所有内容都作为后端,好吧,不知何故。thnks计划是让UI和电子表格中的所有内容都作为后端,好吧,不知何故。thnks