我正在尝试创建一些东西,当脚本运行时,它会读取已在那里设置的参数。
例如,加载自定义侧边栏,用户可以在其中输入详细信息或参数来运行脚本。这些参数将保留,直到它们被更改,但每次运行使用这些参数的脚本时都不需要这些参数。
有点像设置菜单。
我已经在一些插件中看到类似的东西,有人可以指出正确的指示如何去做这件事。
我已经成功运行了脚本,只需要一个可以输入和设置参数的UI。如果可能的话,我想避免从电子表格中的表格中阅读它。
编辑:
我发现有一个可用的getscriptproperty可供所有用户使用:
到目前为止,我有更新(2): HTML:
function showside(){
SpreadsheetApp.getUi().showSidebar(HtmlService.createHtmlOutputFromFile('body'))
}
function setProperty(objectForm){
PropertiesService.getScriptProperties().setProperties(
{a1: objectForm.a1 ,
a2: objectForm.a2,
p1: objectForm.p1,
p2: objectForm.p3})
return 'Updated'
}
<!DOCTYPE html>
<html>
<head>
<script>
function readProperty(){
var settings = PropertiesService.getScriptProperties(), keys = settings.getKeys()
Logger.log('running')
for (var i =0;i<keys.length;i++){
document.getElementbyID(keys[i].toUpperCase()).value = settings.getProperty(keys[i])
}
}
function handleFormSubmit(objectForm){
google.script.run.setProperty(update).setProperty(objectForm)
}
function update(update){
var div = document.getElementById('output');
div.innerHTML = 'Updated!';
}
</script>
<base target="_top">
</head>
<body onload="readProperty()">
<form id="myForm" onsubmit="handleFormSubmit(this)">
a1<input type="url" id="a1" value="" />
a2<input type="url" id="a2" value="" />
a3<input type="url" id="a3" value="" />
P1<input type="text" id="P1" value="" />
P2<input type="text" id="P2" value="" />
<input type="submit" value="Submit" />
</form>
<div id="output"></div>
</body>
</html>
答案 0 :(得分:0)
粗略的方法;从这里开始即兴;
读取loadScript();
中的注释
document.getElementById("formWithData").onsubmit = loadScript();
function loadScript() {
// get data from submitted form
// this way script will re-run with data based on what u give in the form
}
<form id="formWithData">
<input type="text" placeholder ="enter condition 1">
<input type="text" placeholder ="enter condition 2">
<input type="text" placeholder ="enter condition 3">
</form>