我想將一些資料從作業表 1 復制到作業表 2,但每次我嘗試運行下面附加的代碼時,它都會向我發送我在評論中提到的錯誤。
function copyInfo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var copySheet = ss.getSheetByName("Sheet 1");
var pasteSheet = ss.getSheetByName("Sheet 2");
// get source range
var source = copySheet.getRange(2,1,38,17);
// get destination range, "TypeError: Cannot call method "getRange" of null."
var destination = pasteSheet.getRange(pasteSheet.getLastRow() 1,1,38,17);
// copy values to destination range
source.copyTo(destination,{contentsOnly: true});
}
提前致謝。
uj5u.com熱心網友回復:
您的代碼似乎正確并且對我有用,您可以嘗試運行此代碼并檢查它是否記錄了您正在使用的谷歌表的正確名稱,
function copyInfo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(ss.getName());
}
為了更好地訪問特定的谷歌作業表,您可以使用以下方法訪問檔案而不是使用 getActiveSpreadsheet
var ss = SpreadsheetApp.openById("您的作業表 ID");
您甚至可以嘗試除錯視窗來檢查不同變數的當前值,并了解可能的錯誤。
uj5u.com熱心網友回復:
您收到的錯誤是由于這樣的事實pasteSheet是null。
這很可能是由于以下原因之一:
您的電子表格沒有任何命名的作業表
Sheet 2- 我建議您從電子表格中仔細檢查作業表的名稱;您正在檢索的活動電子表格不是您復制資料所需的電子表格;
如上所述,您確實可以使用該openById方法來檢索所需的電子表格,然后獲取實際的作業表。
參考
openById(id) ;
Apps 腳本故障排除。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358814.html
標籤:谷歌应用程序脚本
