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

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

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

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

Q&A

解決済

1回答

13707閲覧

google ドライブ内のファイルを 添付してメール送信する。

neko_damashi

総合スコア5

Google Apps Script

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

0グッド

0クリップ

投稿2018/03/20 03:33

編集2018/03/20 03:34

前提・実現したいこと

Google app script を利用して以下の機能を作成しています。
1:spreadshhetに「メールアドレス」「ファイル名」を記述
2:「ファイル名」GASで上記ファイル名と一致したドライブ内のファイルを添付してメール配信

以下のサイトをほぼまるごと参考にしています。
https://news.mynavi.jp/article/appsscript-3/

(4)メール送信処理内で

//Google Driveからファイル名で、ファイルを取得する var folder = DriveApp.getFolderById('〇〇〇〇'); var Files = folder.getFilesByName('sasikomiData3'); var attachmentFiles = Files.next();

を記述し、1行ごとに個別の添付ファイルを取得、添付して送信にしたいと考えています。

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

次のオブジェクトを取得できません。
イテレータが末尾に到達しました。(行 〇〇、ファイル「コード」)
(var attachmentFiles = Files.next(); の箇所です。)

試したこと

File.next() の箇所で不具合が起きているのかと予想しております。
お知恵をお借りできますと幸いです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/06 04:00

質問の投げっぱなしはやめましょう。
guest

回答1

0

ベストアンサー

単に、 Folder.getFilesByName() に与えた "sasikomiData3" という名前のファイルが、当該フォルダに存在しないだけではないでしょうか。

エラーメッセージで言われている「イテレータ」というのは、複数のオブジェクトを順繰りに取り出すことのできる入れ物のような物を意味して居り、まさに Folder.getFilesByName() が返してくる FilesIterator オブジェクト の事です。通常、このイテレータの next() を呼べば次々に取得されたファイルオブジェクトが取り出せ、取得した全てを取り出し終わったら末尾に到達するのですが、 「一回目の next() 呼び出しで既に "末尾に到達した" と言われている」ということは、「そもそもそのイテレータには最初から何も入って居なかった」ということ です。要するに、最初から 1 つも該当のファイルが見つかっていなかったということを意味します。というわけで、まずは 本当にその名前のファイルが存在するのか、アクセス権があるのか などを御確認なさることを御勧め致します。

尚、もし「ファイルが存在しない場合もあって、その時は処理をスキップしたい」といった要件があるのでしたら、 hasNext() を呼び出す ことで、 next() を呼ぶ前に「ちゃんと次のオブジェクトが存在するか?」を確認できますから、そちらの利用を御検討下さい。

投稿2018/03/24 12:18

argparse

総合スコア1017

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問