运行 具有在设置中设置的已定义参数的脚本
Running script with defined parameters as set in settings
我正在尝试创建一些东西,当脚本是 运行 时,它会读取其中设置的参数。
例如,加载自定义侧边栏,用户可以在其中向 运行 脚本输入详细信息或参数。这些参数将一直保留,直到它们被更改,但不应该在您每次 运行 使用这些参数的脚本时都需要。
有点像设置菜单。
我在一些已经制作的插件中看到了类似的东西,有人可以指出正确的方向来说明如何去做吗。
我已经有脚本运行宁成功只需要一个UI可以输入和设置参数的地方。如果可能的话,我想避免从传播 sheet 中的 sheet 读取它。
编辑:
我看到有一个可供所有用户使用的 getscript 属性:
到目前为止我有更新 (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>
粗略的方法;从这里即兴创作;
阅读 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>
我正在尝试创建一些东西,当脚本是 运行 时,它会读取其中设置的参数。
例如,加载自定义侧边栏,用户可以在其中向 运行 脚本输入详细信息或参数。这些参数将一直保留,直到它们被更改,但不应该在您每次 运行 使用这些参数的脚本时都需要。
有点像设置菜单。
我在一些已经制作的插件中看到了类似的东西,有人可以指出正确的方向来说明如何去做吗。
我已经有脚本运行宁成功只需要一个UI可以输入和设置参数的地方。如果可能的话,我想避免从传播 sheet 中的 sheet 读取它。
编辑:
我看到有一个可供所有用户使用的 getscript 属性:
到目前为止我有更新 (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>
粗略的方法;从这里即兴创作;
阅读 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>