Google Apps Script中colonnes变量变灰无法修改数组的问题
问题分析与解决
核心原因
你看到colonnes变量变灰色,是Google Apps Script编辑器(基于Monaco引擎)的未使用变量高亮提示,并非变量被锁定无法修改。编辑器会把定义后未被任何代码引用的变量标记为灰色,提示这是冗余代码。
解决步骤
- 直接修改变量内容:即使变量显示灰色,你依然可以直接编辑数组里的列名,编辑器的高亮不影响编辑操作。
- 引用变量消除标灰:只要在代码中使用
colonnes变量,编辑器就会取消灰色标记。比如把列标题写入到RESULTATS工作表的第一行:// 在定义colonnes之后添加这行代码 ss.getRange(1, 1, 1, colonnes.length).setValues([colonnes]); - 修复语法小问题:代码中
var moregtin = true后面缺少分号,虽然GAS允许省略,但可能干扰编辑器的语法分析,补上分号让代码更规范:var moregtin = true;
修改后的完整代码示例
function GetAllProduct() { var token=ConnectAlkemics(); var headers = { "accept": "*/*", "accept-language": "fr", 'Authorization' : 'Bearer ' + token, 'cache-control': 'no-cache', 'content-type': 'application/json;charset=UTF-8', 'expires': '-1', 'pragma': 'no-cache', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-site', 'x-alk-priority': '9' }; var options = { 'method' : "GET", "headers" : headers }; var source = SpreadsheetApp.getActive().getSheetByName("GTIN"); var ss = SpreadsheetApp.getActive().getSheetByName("RESULTATS"); ss.clear(); var total = 0; var debut = 2; var moregtin = true; // 补上分号 var lignegtin = 1; var colonnes = [ "GTIN", "Libelle long", "Libelle Court", "Fournisseur", "Code Tiers", "Marque", ]; // 使用colonnes变量,消除编辑器标灰 ss.getRange(1, 1, 1, colonnes.length).setValues([colonnes]); }
内容的提问来源于stack exchange,提问作者user19870352
相关产品推荐
相关产品推荐

