首页 > 解决方案 > 谷歌工作表单元格编辑时刷新或重新加载侧边栏

问题描述

我在 Cell C4 上有谷歌表和数据下拉菜单。我用几个输入字段制作了自定义侧边栏。当我通过下拉选择单元格 C4 上的数据时,我想要的是刷新或重新加载侧边栏。请告诉我你的好主意!

+++

value= 来自 C4。当用户更改 C4 的值时,我想自动刷新侧边栏或输入字段以使用 C4 的当前值更新输入字段。

function showsidbar() {
  var html = HtmlService.createTemplateFromFile("main.html").evaluate();  //createHtmlOutputFromFile('Page')
 
   html.setTitle('입력창입니다!')
    //  .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
      .showSidebar(html);
}

function include(filename){
   return HtmlService.createHtmlOutputFromFile(filename).getContent();
}



function bb(){
  var mainsheet = "기본";
    var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var targetSheet = sheet.getSheetByName(mainsheet);
  var value = targetSheet.getRange("N5").getValue();
   return value;;
   }

function Name(){
  var mainsheet = "기본";
    var sheet = SpreadsheetApp.getActiveSpreadsheet();
   var targetSheet = sheet.getSheetByName(mainsheet);
  var value = targetSheet.getRange("C4").getValue();
   return value;;
   }
  <html>
  <head>
  </head> 
  <body>
  <div style=" padding:10px; background-color:#ccebff">
   <form name="frm">
    <center><B>학생 정보</B> </center>
   
       
    <b>이름 </b>
    <input type="text" name="Name" ID="reginame" size="6" value=<?=Name()?>>
    
     <b>학번</b>
    <input type="text" name="Number" iD="reginum" size="4" value=<?=bb()?>>
   
    
    
    </form>
    </div>
    </body>
    </html>

标签: javascripthtmlgoogle-apps-scriptgoogle-sheetssidebar

解决方案


  • 当单元格“C4”的下拉列表更改时,您希望使用“C4”的编辑值刷新侧边栏。
  • 您想通过修改脚本来实现这一点。

在这个答案中,我想建议使用可安装的 OnEdit 事件触发器。

修改后的脚本:

当您的脚本被修改时,请将以下函数添加到您的脚本中。并且,请将 OnEdit 事件触发器安装到inatalledOnEdit.

function inatalledOnEdit(e) {
  if (e.range.getA1Notation() == "C4") {
    showsidbar();
  }
}
  • 当单元格“C4”的下拉列表发生变化时,函数inatalledOnEdit由可安装的 OnEdit 事件触发器运行。并且,showsidbar()运行,然后,侧边栏重新打开,新值由 设置value=<?=Name()?>

参考:


推荐阅读