Typeerror: لا يمكن استدعاء طريقة "getRange" من NULL. (السطر 0)
-
25-09-2019 - |
سؤال
ما زلت أحصل على هذا الخطأ عندما أحاول تشغيل هذا البرنامج النصي. لقد تم تشغيله على ما يرام لعدة أيام. إنه في جدول بيانات مستندات Google.
Typeerror: لا يمكن استدعاء طريقة "getRange" من NULL. (السطر 0)
ss = SpreadsheetApp.getActiveSpreadsheet();
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [ {name: "New PO", functionName: "NewPO"}];
ss.addMenu("New PO", menuEntries);
}
function NewPO() {
SpreadsheetApp.getActiveSheet().insertRowsBefore(1,6);
// Adjust this range accordingly, these are the cells that will be
// copied. Format is getRange(startRow, startCol, numRows, numCols)
ss.getSheetByName("PO Form").getRange(1, 1, 6, 8)
.copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1, 6, 8));
}
function onEdit(e) {
var ss = e.source.getActiveSheet();
var r = e.source.getActiveRange();
// 1 is A, 2 is B, ... 8 is H
if (r.getColumn() == 8 && r.getValue() == "x") {
r.setValue(Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"));
}
}
هل هناك أي شيء يمكنك رؤيته من شأنه أن يسبب هذا الخطأ؟
المحلول
هل راجعت قيمة الإرجاع ss.getSheetByName("PO Form")
. على الأرجح null
. لديك أيضًا متغير مستوى الفصل اسمهss
ومتغيرات الطريقة المسمى ss
أيضًا. هذا النوع من التظليل يمكن أن يؤدي إلى مشاكل إذا لم تكن حذراً للغاية.
لا تنتمي إلى StackOverflow