質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

0回答

2305閲覧

Cannot read property 'getRange' of nullとのエラーが出る

hell

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/04/16 09:44

編集2021/04/16 10:00

前提・実現したいこと

プログラミング初心者です。
スプレッドシートの時間、日付をもとに、GoogleChatでリマインド機能を実装することを目的にしています。
スプレッドシートのツールから、スクリプトエディタを表示し、そこにコードを打ち込んでいます。
実行すると、Cannot read property 'getRange' of nullのエラーが表示され、うまく作動しませんでした。

https://blog.members.co.jp/article/40069
このサイトを参考にしました。

発生している問題・エラーメッセージ

TypeError: Cannot read property 'getRange' of null remind @ remind.gs:21

該当のソースコード

function remind() { // 現在日時を取得 var date = new Date(); Logger.log(date); // 曜日 var day= date.getDay(); Logger.log(day); // 時間 var hour = date.getHours(); // 分 var minutes = date.getMinutes(); // スプレの情報を取得 var sheet = SpreadsheetApp.getActive().getSheetByName('remind'); //var sheet = SpreadsheetApp.openById('https://drive.google.com/drive/my-drive').getSheetByName('remind'); //var sheet = spread.getSheetByName('remind'); var rowLast = sheet.getLastRow(); //var rowLast = 8; //const FValues = sheet.getRange('4').getValues();  //F列の値を全て取得 //const LastRow = FValues.filter(String).length;  //空白の要素を除いた長さを取得 //Logger.log(LastRow); var data_remind = sheet.getRange(2, 1, rowLast, 4).getValues(); // 登録されているメッセージの回数繰り返す for(var i = 0; i < data_remind.length; i++){ // スプレの時間指定とメッセージを取得 var remind_day = data_remind[i][0]; var remind_hour = data_remind[i][1]; var remind_minutes = data_remind[i][2]; var message = data_remind[i][3]; // 一分ごとのトリガーを設定し、合った時にメッセージをPOSTする if(day == remind_day && hour == remind_hour && minutes == remind_minutes){ //時間が合っているか var url = 'https://chat.googleapis.com/v1/spaces/AAAAxe_B6iU/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=uFDTnSz7vzmKnp53YPqaYTKFC1YdFlsqlLwwRA8QsSc%3D'; var botMessage = { 'text': message } var options = { 'method': 'POST', 'headers': { 'Content-Type': 'application/json; charset=UTF-8' }, 'payload': JSON.stringify(botMessage) }; var result = UrlFetchApp.fetch(url, options); Logger.log(result); Logger.log('applicable'); }else{ Logger.log('not applicable'); } } }

var sheet = SpreadsheetApp.getActive().getSheetByName('remind');

var sheet = SpreadsheetApp.openById('https://drive.google.com/drive/my-drive').getSheetByName('remind');
に変える
var rowLast = sheet.getLastRow();

var rowLast = 8;
に変える

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

black-ddd

2021/04/16 09:49 編集

何をしててなぜこうなったのかなどの記載をするべきです。 この質問内容だと解決方法を知っていても答える気にならないと思います。
hell

2021/04/16 10:02

たくさんのご指摘ありがとうございます。 始めて本サイトを使うもので、一度目は編集が終わる前に投稿してしまいました おっしゃる通り、javaではなくGASというものでした 失礼しました
YT0014

2021/04/17 00:11

シート"remind"をご提示ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問