簡體   English   中英

如何使用包含布爾值的全局變量來更改谷歌表格腳本中的其他變量?

[英]How do I use global a global variable containing a boolean to change other variable in google sheets script?

我正在創建一個小的虛擬電子表格,我想使用一個指向boolean的變量,它將根據某些邏輯進行更改,然后使用此布爾值更改另一個var ,就像我們使用jsweb編碼所做的那樣

如果partialDel()運行,我想將range設置為true ,然后在addForm運行時更改range variable ,以防range屬性設置為true

//I set the property here
PropertiesService.getScriptProperties().setProperty('range', false);

function partialDel() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("UMS - Volumetria");
  sheet.insertRowBefore(11);
  sheet.getRange(11,2).setValue("Item:");
  sheet.insertRowBefore(13);
  sheet.getRange(13,2).setValue("Quantidade:");
  sheet.getRange(13,6).setValue("de");
  sheet.getRange("UMS - Volumetria!D13:E13").merge();
  sheet.getRange("UMS - Volumetria!G13:H13").merge().setBorder(null, null, true, null, false, true, "black", SpreadsheetApp.BorderStyle.SOLID);
  //here is where I set it to true
  PropertiesService.getScriptProperties().setProperty('range', true)
}

  function addForm () {
  var range = "UMS - Volumetria!B9:L14"
//here is where I wanna check if the property is true 
  if(PropertiesService.getScriptProperties().getProperty('range') == true){
  range = "UMS - Volumetria!B9:L16" 
  }  
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const source = ss.getRange(range);
  const destSheet = ss.getSheetByName("UMS - Volumetria");  
  const destRange = destSheet.getRange(destSheet.getLastRow()+3,2);
  source.copyTo(destRange);
}

我通過更改if語句syntax解決了這個問題。

不知何故在谷歌腳本中,將數據與booleans進行比較對我不起作用。 所以,我剛才查了truish的數值range

舊代碼: if(PropertiesService.getScriptProperties().getProperty('range') === true)

新代碼: if(PropertiesService.getScriptProperties().getProperty('range'))

//PropertiesService.getScriptProperties().setProperty('range', false);

function partialDel() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("UMS - Volumetria");
  sheet.insertRowBefore(11);
  sheet.getRange(11,2).setValue("Item:");
  sheet.insertRowBefore(13);
  sheet.getRange(13,2).setValue("Quantidade:");
  sheet.getRange(13,6).setValue("de");
  sheet.getRange("UMS - Volumetria!D13:E13").merge();
  sheet.getRange("UMS - Volumetria!G13:H13").merge().setBorder(null, null, true, null, false, true, "black", SpreadsheetApp.BorderStyle.SOLID);
  PropertiesService.getScriptProperties().setProperty('range', true)
}

  function addForm () {
  let range = "UMS - Volumetria!B9:L14" 
  if(PropertiesService.getScriptProperties().getProperty('range')){
  range = "UMS - Volumetria!B9:L16" 
  }  
  var ss = SpreadsheetApp.getActiveSpreadsheet();    
  const source = ss.getRange(range);
  const destSheet = ss.getSheetByName("UMS - Volumetria");  
  const destRange = destSheet.getRange(destSheet.getLastRow()+3,2);
  source.copyTo(destRange);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM