###前提・実現したいこと
ノンプログラマーですが、業務効率化のために定期的に受信するメール内の特定の文字列を抽出してSpreadSheetへ転記したい。
手順としては、Gmailでのフィルタリング・タグ付け→GoogleAppsScriptでSpreadSheetへの転記・読み込んだメールを既読にする
下記のソースコードはGoogleAppsScriptの編集画面上で実行ボタンを押すと成功するのですが、トリガーとして「時間主導型」を設定して定期実行させようとしていると、以下のようなエラーが出ています。
###発生している問題・エラーメッセージ
TypeError: null のメソッド「getRange」を呼び出せません。(行 19、ファイル「for spreadsheet」)
###該当のソースコード
1function getMail180109(){ 2 var sheet = SpreadsheetApp.getActiveSheet(); //スプレッドシートを読み込む 3 var start = 0; 4 var max = 1; 5 var threads = GmailApp.search('label:メルマガabc is:unread',start,max); //ラベルの付いたメールの未読のスレッドを読み込む 6 7 for(var n in threads){ 8 var the = threads[n]; 9 10 var msgs = the.getMessages(); 11 for(var m in msgs){ 12 var msg = msgs[m]; // スレッド内のメールをそれぞれチェックする 13 if( msg.isUnread() ) { // スレッド内のメールの内未読のもののみ実行する 14 var body = msg.getPlainBody(); //HTMLタグを含めないメール本文を取得 15 var URL = body.indexOf('https://hogehoge');//URLが決まったフォーマットなのでこれを探してくる 16 17 var title = body.slice(URL) //URLを取得 18 var titleA = title.split(/\n/); //改行したら区切る 19 sheet.getRange(1,1).setValue(titleA[0]);//取得した文字列をA1セルに出力 20 21 22 } 23 } 24 25 the.markRead(); //既読にする 26 } 27 Utilities.sleep(1000); 28 } 29
###試したこと
手動で実行すると成功するので何をしていいかわからない状態です。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。