前提・実現したいこと
日時: xx
位置情報: xx
読み取り内容: xx
という内容のGoogleメールから毎回3つの項目を抽出しスプレッドシートに追加したい
発生している問題・エラーメッセージ
objSheet.getRange(lastRow,2).setValue(location[1]); の部分にて
TypeError: null からプロパティ「1」を読み取れません。(行 43、ファイル「コード」)
というエラーが出てしまいます。
該当のソースコード
var SearchString = "Subject:読み取り用"; function myFunction() { var myThreads = GmailApp.search(SearchString, 0, 1); var myMsgs = GmailApp.getMessagesForThreads(myThreads); for ( var threadIndex = 0 ; threadIndex < myThreads.length ; threadIndex++ ) { var mailBody = myMsgs[threadIndex][0].getPlainBody(); var date = mailBody.match(/日時: (.*)/); var location = mailBody.match(/位置情報: (.*)/); var text = mailBody.match(/読み取り内容: (.*)/); var objSpreadSheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/12na8KZ22j1dyQzGE2W85cGlWxVBmjWphFyyVFftKl-o/edit#gid=0"); var objSheet = objSpreadSheet.getSheetByName("読み取り結果"); var lastRow = objSheet.getLastRow() + 1; objSheet.getRange(lastRow,1).setValue(date[1]); objSheet.getRange(lastRow,2).setValue(location[1]); objSheet.getRange(lastRow,3).setValue(text[1]); } }
試したこと
・シートの取得方法を下記のやり方で試してみる
inputsheet = SpreadsheetApp.openById('シートURL');
inputSheetname = inputsheet.getSheetByName("シート名");
・V8をオフにする
など。しかし結果は同じでした…
補足情報(FW/ツールのバージョンなど)
当方勉強を始めたばかりの初心者なもので、自分だけではどうにもならず困り果てています。
コメントいただけると大変助かります。どうぞよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー