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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

1739閲覧

Googleメール(複数)より抽出した内容を複数行に抽出したい

ANgel11

総合スコア6

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2019/07/30 03:34

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Google SpreadsheetにGoogleメールから抽出した内容(複数メール)を行ごとに追加したいです。
■■な機能を実装中に以下のエラーメッセージが発生しました。

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

範囲の行数には 1 以上を指定してください。(行 27、ファイル「コード」)

該当のソースコード

function searchContactMail() { /* Gmailから特定条件のスレッドを検索しメールを取り出す */ var strTerms = '(is:unread "Purchase Order 07/30")'; var myThreads = GmailApp.search(strTerms, 0, 30); //条件にマッチしたスレッドを取得 var myMsgs = GmailApp.getMessagesForThreads(myThreads); //スレッドからメールを取得する →二次元配列で格納 var valMsgs = []; /* 各メールから日時、送信元、件名、内容を取り出す*/ for(var i = 0;i < myMsgs.length;i++){ valMsgs[i] = []; valMsgs[i][0] = myMsgs[i][0].getDate(); valMsgs[i][1] = myMsgs[i][0].getFrom(); valMsgs[i][2] = myMsgs[i][0].getSubject(); valMsgs[i][3] = myMsgs[i][0].getPlainBody().slice(0,200); valMsgs[i][4] = myThreads[i].getPermalink(); /* スプレッドシートに出力 */ if(myMsgs.length>0){ var mySheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('PO'); //シートを取得 var maxRow=mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得 mySheet.getRange(maxRow+1,1,i,5).setValues(valMsgs);i+=valMsgs.length;//シートに取得したメッセージのデータを追加 } } }

試したこと

maxRow+1,1,i,5の数字を1以外で試してみましたがうまくいきません。

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

シート名のPOはPurchase Orderの略です。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問