簡體   English   中英

Google表格腳本-無法讀取媒體資源1.0?

[英]Google Sheets Script - Cannot read property 1.0?

我試圖通過腳本輸入數據,以便它找到第一個空行,並在該行中找到第一個空列,然后將數據輸入該列。 對於每一行,將有幾列要插入信息,並且這是在單獨的請求中完成的,我意識到這是我必須解決的另一個問題,但我還沒有到達那里。

var answer = e.parameter["value"]
  var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("key"));
  var sheet = doc.getSheetByName(e.parameter["sheet"]);
  var row = sheet.getLastRow();
  var column = sheet.getLastColumn()
  var range = sheet.getRange(row, 1, 1, column);
  var data = range.getValues();

  for(var i = 1; i <= column; i++){
    if (data[1][i] == "" || data[1][i] == " "){
      sheet.getRange(1, i).setValue(answer);
      break;
    }
  }

運行時出現此錯誤: “消息”:“無法從未定義中讀取屬性\\” 1.0 \\“。”,“名稱”:“ TypeError”,“文件名”:“代碼(數據庫宏)”,“ lineNumber “:107,”堆棧“:” \\ tt代碼(數據庫宏):107(doPost

編輯代碼:

for(var i = 1; i <= column; i++){
    if (data[i] == ""){
      sheet.getRange(row, i).setValue(answer);
      break;
    }
  }

我正在分享您的工作表,您可以在其中看到如何在范圍A1:A10中找到第一個空行(單元格值)

https://docs.google.com/spreadsheets/d/12w3Xi2CsOQ7u0i6gB5T7SWhG5_Kkv_04UJOp2ouNpF0/edit?usp=sharing

function myFunction() {
  var aa = SpreadsheetApp.getActiveSheet().getRange("A1:A10").getValues();
  var ui = SpreadsheetApp.getUi();
  var ix = null;
  for( var i = 0 ; i < aa.length; i++){
    if( aa[ i ] == "" ) { ix = i; break; }
  }
  ui.alert( "first empty row is: A" + (ix+1) ); 
}

hth,歡呼

您的問題出在這里:

Javascript數組索引從0開始而不是@ZigMandel提到的1,因此修改以下代碼:

for(var i = 1; i <= column; i++){
    if (data[1][i] == "" || data[1][i] == " "){ // This i believe is your line 107
      sheet.getRange(1, i).setValue(answer);
      break;
    }
  }

對此:

for(var i = 0; i < column; i++){
        if (data[0][i] == "" || data[0][i] == " "){
          sheet.getRange(1, i).setValue(answer);
          break;
        }
      }

由於該語句data [1] [i],最有可能導致您收到錯誤。 由於數組索引從0開始,因此您從此代碼中獲得了一行:

 var range = sheet.getRange(row, 1, 1, column);
  var data = range.getValues();

沒有索引1,因此data [1]未定義。

暫無
暫無

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

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