TypeError例外:ヌルのメソッド「getRange」を呼び出すことはできません。 (ライン0)

StackOverflow https://stackoverflow.com/questions/4211504

  •  25-09-2019
  •  | 
  •  

質問

私が試してみて、このスクリプトを実行すると、

私はこのエラーを得続けます。それは数日間だけで罰金を実行しています。これは、Googleドキュメントのスプレッドシートである。

はTypeError:することはできないの呼び出し方法 "getRange" ヌルの。 (ライン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をという名前のクラスレベル変数namedssとメソッドの変数を持っています。あなたは非常に慎重にいないのであれば、シャドーイングのこの種の問題につながることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top