簡體   English   中英

例外:訪問帶有 id google sheet 的文檔時服務電子表格失敗

[英]Exception: Service Spreadsheets failed while accessing document with id google sheet

我為 Google 工作表制作了這個簡單的腳本,當 IF 中有一個條件時運行。 它工作正常,直到幾天前它開始顯示錯誤“異常:服務電子表格在訪問具有 id 的文檔時失敗”,瘋狂的部分是它實際上繼續工作,但僅從第 70 行開始。 不知道發生了什么,我什至刪除了工作表上以前的宏,看看它們是否有干擾。

function onEdit() {
var archivo = SpreadsheetApp.getActiveSpreadsheet();
var hojaorigen = archivo.getActiveSheet();
var nombreorigen= hojaorigen.getName();
var hojadestino = archivo.getSheetByName("NI/NAHO/DQ");
var celdactiva = hojaorigen.getActiveCell();
var filaactiva = celdactiva.getRow();
var colactiva = celdactiva.getColumn();
var valor = celdactiva.getValue();
var rangoorigen = hojaorigen.getRange(filaactiva, 1,1,21);
var rangodestino= hojadestino.getRange(hojadestino.getLastRow()+1,1)

Logger.log(filaactiva);
Logger.log(colactiva);
Logger.log(valor);

if(filaactiva >= 2 && colactiva == 16 && valor == "DISQUALIFIED"  && nombreorigen == "UPDATED Prototype lead claim") {
  rangoorigen.moveTo(rangodestino);
  hojaorigen.deleteRow(filaactiva);}
  else if (filaactiva>= 2 && colactiva == 16 && valor == "DO NOT CONTACT"  && nombreorigen == "UPDATED Prototype lead claim") {
  rangoorigen.moveTo(rangodestino);
  hojaorigen.deleteRow(filaactiva);
  }
  else if (filaactiva>= 2 && colactiva == 16 && valor == "NOT INTERESTED"  && nombreorigen == "UPDATED Prototype lead claim") {
  rangoorigen.moveTo(rangodestino);
  hojaorigen.deleteRow(filaactiva);
  }
  else if (filaactiva>= 2 && colactiva == 16 && valor == "INVALID NUMBER"  && nombreorigen == "UPDATED Prototype lead claim") {
  rangoorigen.moveTo(rangodestino);
  hojaorigen.deleteRow(filaactiva);
  }
  else if (filaactiva>= 2 && colactiva == 16 && valor == "WRONG NUMBER"  && nombreorigen == "UPDATED Prototype lead claim") {
  rangoorigen.moveTo(rangodestino);
  hojaorigen.deleteRow(filaactiva);
  }
}

顯示的錯誤如下,但正如我所說,它只發生在第 2-69 行時,之后它工作正常

在此處輸入圖像描述

這可能是您想要實現的目標:

function oneEdit(e) {
  const sh = e.range.getSheet();
  const name = sh.getName();
  if (sh.getName() == "UPDATED Prototype lead claim" && e.range.rowStart > 1 && e.range.columnStart == 16) {
    if (e.value == "DISQUALIFIED" || e.value == "DO NOT CONTACT" || e.value == "WRONG NUMBER" || e.value == "NOT INTERESTED" || e.value == "INVALID NUMBER") {
      e.range.moveTo(e.source.geetSheetByName("NI/NAHO/DQ"));
      sh.deleteRow(e.range.rowStart)
    }
  }
}

很難確定,因為正如我在評論中所說,您有兩個未定義的變量,並且 getActiveCell() 返回並且范圍不是 integer 或我懷疑您想要的行。 另請注意,除非您將事件 object 傳遞給它們,否則您無法從腳本編輯器運行此類函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM