[英]How do I use global a global variable containing a boolean to change other variable in google sheets script?
我正在創建一個小的虛擬電子表格,我想使用一個指向boolean
的變量,它將根據某些邏輯進行更改,然后使用此布爾值更改另一個var
,就像我們使用js
為web
編碼所做的那樣
如果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.