0

好的,我已经做了一段时间的编码,并且有机会做很多事情。

我想找到一种更优雅的方法是根据变量的值运行脚本。

目前我正在这样做。

    if (ScriptName == 'overnightRun' ) {
      overnightRun();
    } 
    if (ScriptName == 'resetAnalysisSheets' ) {
      resetAnalysisSheets();
    } 
    if (ScriptName == 'resetActiveSheetFormulae' ) {
      resetActiveSheetFormulae();
    } 
    if (ScriptName == 'saveRemainingContractSheets' ) {
      saveRemainingContractSheets();
    } 
    if (ScriptName == 'saveAllContractSheets' ) {
      saveAllContractSheets();
    } 
    if (ScriptName == 'saveCurrentContractSheet' ) {
      saveCurrentContractSheet();
    } 
    if (ScriptName == 'clearDataSheets' ) {
      clearDataSheets();
    } 

肯定有更好的方法。更像这样的东西。

    run.script(ScriptName);

有人有什么想法吗?谢谢阅读!

4

1 回答 1

2

你可以试试这个:

function testFunction() {
  var ScriptName = "Alibaba";
  var p = "Open sesame!"
  this[ScriptName](p);
}

function Alibaba(p) {
  Logger.log(p);
}

p如果不传递任何内容,则将参数留空。

于 2020-01-14T12:42:28.227 回答