#google-apps-script
Вопрос:
Здесь полный новичок. Вот скрипт для очистки содержимого столбца, но он не работает. Я изменил его и получил различные ошибки (идентификатор электронной таблицы не определен). Это самая последняя ошибка: Ошибка ссылки: sheet_Id не определен
Заранее благодарю вас!
Вот код (извините, это беспорядок; я же говорил вам, что был полным новичком):
function ClearColumn() { //This script will clear ALL the values in the status column
var sheet_id = "1RnIV4IpQSfeqVh_VDp2Qy0301zgVttSGzY9FI7T3u_w";
var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();//populate with sheet name of your merge source
var columnHeader = "Template 1 Template - Send Status" //populate with header of column you wish to clear
var ss = SpreadsheetApp.openById(sheet_Id);
if (ss) {
var sheet = ss.getSheetByName(sheetName);
if (sheet) {
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
var column = headers.indexOf(columnHeader) 1;
if (column>0) {
sheet.getRange(2, column, sheet.getLastRow()-1, 1).clearContent();
}
}
}
}
//Set this function to run on a time trigger of your choosing
Комментарии:
1. У вас есть заголовки столбцов с именем
"Template 1 Template - Send Status"
?2. лист объявляется дважды
Ответ №1:
Вы получаете эту ошибку , потому что определяете sheet_id
, но пытаетесь использовать sheet_Id
. Имя переменной пишется с заглавной буквы по-другому, и это имеет значение для JavaScript.
Кроме того, вы пытаетесь использовать переменную sheetName
, но она не объявлена.
Попробуйте переключиться на это:
function ClearColumn() { //This script will clear ALL the values in the status column
var sheet_id = "1RnIV4IpQSfeqVh_VDp2Qy0301zgVttSGzY9FI7T3u_w";
var sheet_name = "My sheet name";
var columnHeader = "Template 1 Template - Send Status" //populate with header of column you wish to clear
var ss = SpreadsheetApp.openById(sheet_id);
if (ss) {
var sheet = ss.getSheetByName(sheet_name); //populate with sheet name of your merge source
if (sheet) {
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
var column = headers.indexOf(columnHeader) 1;
if (column > 0) {
sheet.getRange(2, column, sheet.getLastRow() - 1, 1).clearContent();
}
}
}
}
Комментарии:
1. Да, есть столбец с именем «Шаблон 1 Шаблон — Статус отправки». Это та колонка, которую я хочу очистить.
2. Ваш код работает так, что я не получаю ошибку, но он не очищает столбец.
3. Я немного изменил его, чтобы вы также могли указать название листа. Я проверил это, и это работает на меня.