Googleスクリプトを使用して特定の値に一致する行を削除しようとすると、私は奇妙なエラーが発生しました。Google Appsスクリプトを使用してGoogleシートの行を削除する
は、ここに私のコードです:
function myFunction() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("file.csv");
var values = sheet.getRange("N2:N").getValues();
var row_del = new Array();
for(var i=0;i<values.length;i++)
{
if(values[i] == 'del'){
row_del.push(i+2); // This line was added for debugging purposes.
// sheet.deleteRow(i+2) was the line that was in this condition
// (i+2) is used because row 1 has headers and the range starts from 0.
}
}
// Logger.log(row_del);
// GmailApp.sendEmail("my_email_address", "subject", row_del)
for (var i = 0; i < row_del.length; i++)
{
sheet.deleteRow(row_del[i]);
}
}
私は削除すべき行番号をピックアップ書かれているが、すべてのこれらの行は、私の最初の試みでは削除されていないコード。これらの行を削除するには、スクリプトを何度も実行する必要があります。
私のコードにエラーがある場合はそれが表示され、ロジックが間違っている場合は間違った行を削除する必要があります。私はこれらのシナリオのいずれにも遭遇せず、私はこの機能を複数回実行すべきです。
ここには何かがありますか?
下から上に削除してみてください: '(VAR I = row_del.lengthのために - 1; i>の= 0; i--) { sheet.deleteRow(row_del [i]); } ' –
これは機能しました..ありがとうたくさんのスープ。なぜ私のコードがうまくいかないのか教えていただけますか?あなたのロジックは私と同じではありませんか? –
あなたはsheet.deleteRows(1、2)を使うことができます。同様に、一度にすべての行を削除する –