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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

926閲覧

Google Apps Script に関してファイルの作成とメールの送信を同時に実装できるかどうか

HAYATOALFS

総合スコア16

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/08/19 01:52

現時点で今から質問する内容について実装できるのかの質問です。

このサイト
https://qiita.com/TakashiHamada/items/71ed82bba8af9ff893b1#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%AE%E9%80%81%E4%BF%A1%E3%81%AF%E5%90%8C%E6%99%82%E3%81%AB%E8%A1%8C%E3%81%88%E3%81%AA%E3%81%84
に書かれていることを目指しています。

簡単にまとめると、

  1. Google Formに記入
  2. Spreadsheetシートに情報が自動で書き込まれる
  • Spreadsheetの内容の一部を別シートに用意してある請求書に反映
  • 反映された最新の請求書をPDF化
  • PDF化された最新の請求書を自動返信メールに送付する

3. 自動送信メールを送る 資料と請求書を送付

太字で表示されている PDF化された最新の請求書を自動返信メールに送付する の部分が可能なのかどうか。 サイトではファイルの作成とメールの送信は同時に行えないとのことでしたが、古い記事なので今は実現可能なのでしょうか?

また、実現可能なら例としてこういうスクリプトならいける等も提示してくださるととてもありがたいです。答えではなく、あくまでこういう感じのコーディングならPDF化された最新の請求書を自動返信メールに送付できるよみたいな感じで頂けると幸いです。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

GAS

1var token = ScriptApp.getOAuthToken(); 2var pdf = UrlFetchApp.fetch( "https://docs.google.com/spreadsheets/d/"スプレッドシートID+"/export?exportFormat=pdf&format=pdf&size=A4&portrait=true&fitw=true&sheetnames=false&printtitle=false&pagenumbers=false&gridlines=false&fzr=false&gid="+シートID, {headers: {'Authorization': 'Bearer ' + token}}).getBlob().setName(ファイルの名前);

でpdfを定義して、sendEmail()のオプション部分{}内にattachments: [pdf] を追記すれば、定義したPDFがメールに添付されます。

投稿2019/08/19 02:20

hiroshi0240

総合スコア640

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

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

HAYATOALFS

2019/08/19 02:34

このコーディングというのは、固定されたPDFを送るのではなく、ドライブにあるその都度自動作成された新規のPDFを指定して自動送信するものですか?
hiroshi0240

2019/08/19 02:45

そうですね。書いたものは都度スプレッドシートからPDFを作成するものです。
hiroshi0240

2019/08/19 04:06

合わせて定義した「pdf」を任意の場所に保存すれば同じものが保存されて、メール送信されることになりますが、ご質問はそういうことではなかったのでしょうか?
hiroshi0240

2019/08/19 04:23

ちなみに、すでに保存されている特定のPDFを添付したいのであれば、var pdf = DriveApp.getFileById("ファイルID").getAs(MimeType.PDF);でpdfを定義すれば添付できます。
HAYATOALFS

2019/08/19 07:31

ありがとうございます。この部分については解決しました。ただ、Google Formを入力してもらい、請求書を自動生成して送付する時に、請求書の中の情報が一つ前のGoogle Formの入力内容になるのはなぜでしょう?
HAYATOALFS

2019/08/19 07:56

回答ありがとうございます。当方GASにおいてはスターターのため、記事を読ませていただいて試してみましたが上手くいきません。なので改めて質問させていただきます。
HAYATOALFS

2019/08/19 07:57

回答ありがとうございます。当方GASにおいてスターターのため、記事を読ませていただいて試してみましたが上手くいきませんでした。なので、コードを乗せたうえで改めて質問させていただきます。
hiroshi0240

2019/08/19 08:28

新たに別のご質問のようですので、お困りの現象が再現する最小限のコードをサンプルコードとして別途質問を作成していただければ、検証してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問