myan69
@myan69

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

gasでスプレッドシートの変更内容をlineに送信しようとしたところエラーが出てしまいました

解決したいこと

シート名が見つからないようです。あまり良くわかっていません。ド初心者にご享受いただけたら幸いです。

発生している問題・エラー

TypeError: Cannot read properties of null (reading 'getRange')
sendLine	@ コード.gs:11

該当するソースコード

//IDはhttps://docs.google.com/spreadsheets/d/●●/edit#gid=111111の●●の部分
const spreadsheet = SpreadsheetApp.openById("");
const sheet = spreadsheet.getSheetByName("test");

//取得した情報をラインへ通知する
var LINE_NOTIFY_TOKEN = "";
var LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
function sendLine(){
  var msg,response;
    //送りたいメッセージ
    msg = sheet.getRange("B4").getValue();
    response = UrlFetchApp.fetch(LINE_NOTIFY_API, {
      "method": "post",
      "headers": {
        "Authorization": "Bearer " + LINE_NOTIFY_TOKEN
      },
      "payload": {
        "message": msg + user
      }
    });  
}
0

1Answer

シート名が見つからないようです。あまり良くわかっていません。

スプレッドシートのシート名を確認しましたか?

msg = sheet.getRange("B4").getValue();

変数sheetが undefined が原因で、↑この行でエラーが出ていると思われます。

 const sheet = spreadsheet.getSheetByName("test");

変数sheetは、↑ここで設定していますが、シート名"test"が存在しないため、undefined になったものと想定します。

0Like

Comments

  1. @myan69

    Questioner

    シート名を設定し直したら、うまくいきました!ありがとうございます!

  2. よかったですね ✌️

    解決であれば、当Q&Aをクローズしてください。

Your answer might help someone💌