运行 具有在设置中设置的已定义参数的脚本

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>