Google apps script OneEdit/onOpen中的全局变量

Google apps script OneEdit/onOpen中的全局变量,google-apps-script,google-sheets,google-sheets-formula,Google Apps Script,Google Sheets,Google Sheets Formula,我有一个问题要问你-如何声明将在onEdit(evt)中工作的全局/公共变量 我想在打开文档时设置变量(不是每次通过OneEdit功能编辑内容时) 问题是——它不起作用。当我打开工作簿时,它会一直工作,直到我编辑了一些东西。打开设置正确的值,然后当我编辑它时-值变为初始值。 在功能范围onOpen中设置的变量将仅在该功能中保留赋值 onEdit是一个单独的函数,不与onOpen交互 它将使用全局定义的变量(在脚本开始时,独立于onOpen),除非您在onEdit 如何在onOpen和onEdi

我有一个问题要问你-如何声明将在onEdit(evt)中工作的全局/公共变量

我想在打开文档时设置变量(不是每次通过OneEdit功能编辑内容时)

问题是——它不起作用。当我打开工作簿时,它会一直工作,直到我编辑了一些东西。打开设置正确的值,然后当我编辑它时-值变为初始值。

  • 在功能范围
    onOpen
    中设置的变量将仅在该功能中保留赋值
  • onEdit
    是一个单独的函数,不与
    onOpen
    交互
  • 它将使用全局定义的变量(在脚本开始时,独立于
    onOpen
    ),除非您在
    onEdit
如何在
onOpen
onEdit
  • 使用
  • 它允许您将变量值设置到缓存中,以便在需要时检索
样品

var scriptProperties = PropertiesService.getScriptProperties();

//to be run once
function myStartFunction(){
    scriptProperties.setProperty('cbx_kod', '"some initial val"');
}

function onOpen(evt) {
     //lets set them
     cbx_kod = something.getValue(); 
     scriptProperties.setProperty('cbx_kod', cbx_kod);
}

function onEdit(evt) {
  var cbx_kod = scriptProperties.getProperty('cbx_kod');
   if(col == cbx_kod ){
   //something
   }
}

var scriptProperties = PropertiesService.getScriptProperties();

//to be run once
function myStartFunction(){
    scriptProperties.setProperty('cbx_kod', '"some initial val"');
}

function onOpen(evt) {
     //lets set them
     cbx_kod = something.getValue(); 
     scriptProperties.setProperty('cbx_kod', cbx_kod);
}

function onEdit(evt) {
  var cbx_kod = scriptProperties.getProperty('cbx_kod');
   if(col == cbx_kod ){
   //something
   }
}