我有一个Google电子表格,其中包含不同的列,并且已将变量作为变量放入代码var COLUMN_URL = 10 ;
中,所以现在我想进行更改以搜索表格第一行中的列URL,我写了这段代码:
var COLUMN_URL = function find_COLUMN_URL(){
var tss = SpreadsheetApp.openById(SPREADSHEET_ID);
var sheet = tss.getSheets()[0];
var data = sheet.getRange(1,1,1,1).getValues();
for(n=0;n<data.length;++n){
if(data[0][n].toString().match('URL')=='URL')
return n;
}
}
我删除了var COLUMN_URL = 10
,但是当我像执行主要功能中的上一个声明一样执行代码时,我不起作用。您知道为什么不起作用吗?谢谢。 >
编辑:我已更改为其他版本,例如:
function find_column_projet(){
var tss = SpreadsheetApp.openById(SPREADSHEET_ID);
var sheet = tss.getSheets()[0];
var lastColumn = sheet.getLastColumn() + 1;
var data = sheet.getRange(1,1,1,lastColumn).getValues();
for(n=0;n<data.length;n++){
if(data[0][n].toString().match('URL')=='URL')
COLUMN_URL = n + 1 ;
}
function show_URL(){
find_column_projet();
Logger.log('The URL ' + COLUMN_URL);
}
并且在日志中我未定义URL,但我不知道问题出在哪里。我想调出第一行并搜索URL,然后返回列号。
答案 0 :(得分:1)
我认为您忘记了在第二版代码中存储find_column_projet()函数返回的值:
function show_URL(){
var COLUMN_URL = find_column_projet();
Logger.log('The URL ' + COLUMN_URL);
}
代码的第一个迭代是将COLUMN_URL分配给函数本身:
var COLUMN_URL = function find_COLUMN_URL(){
//...
}
这些操作应该分开时:
function find_COLUMN_URL(){
}
var COLUMN_URL = find_COLUMN_URL();