javascript - 谷歌工作表单元格编辑时刷新或重新加载侧边栏
问题描述
我在 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>
解决方案
- 当单元格“C4”的下拉列表更改时,您希望使用“C4”的编辑值刷新侧边栏。
- 您想通过修改脚本来实现这一点。
在这个答案中,我想建议使用可安装的 OnEdit 事件触发器。
修改后的脚本:
当您的脚本被修改时,请将以下函数添加到您的脚本中。并且,请将 OnEdit 事件触发器安装到inatalledOnEdit
.
function inatalledOnEdit(e) {
if (e.range.getA1Notation() == "C4") {
showsidbar();
}
}
- 当单元格“C4”的下拉列表发生变化时,函数
inatalledOnEdit
由可安装的 OnEdit 事件触发器运行。并且,showsidbar()
运行,然后,侧边栏重新打开,新值由 设置value=<?=Name()?>
。
参考:
推荐阅读
- python - 如何控制for循环层数?
- ios - 隐藏视图并应用隐藏效果 - Swift
- javascript - 单击外部时如何关闭菜单栏
- http - 如果服务器不支持异步,什么是有效的 HTTP 错误代码
- javascript - 角度验证不适用于参考变量
- python - 在python中将字符串转换为列表时,str[n]将'',"计为列表项
- ios - 从 xamarin ios 中的 fcm 获取自定义数据
- c - 在带有标题的项目上运行 clang-tidy
- firebase - 如何使用 futurebuilder 在 TextFormField 中显示初始值?
- spring-boot - 集群 - FileLockClusterService 使用