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

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

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

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google Apps Script

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

Q&A

解決済

1回答

721閲覧

GmailをPDF化して「共有ドライブ」に保存する方法

316198492

総合スコア11

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google Apps Script

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

0グッド

0クリップ

投稿2022/03/27 05:42

はじめまして。

GmailをPDF化して「共有ドライブ」に保存する処理を自動化したく、
以下のコードをGASで実行してみましたが、Mydriveで動いたものの、
共有ドライブでは動きませんでした。

以下のコードのどこを編集すれば共有ドライブで実行可能になりますでしょうか。
ちなみに、Drive APIは追加しましたが、実行できませんでした。

アドバイスいただけますと幸いです。
よろしくお願いいたします。```ここに言語を入力
コード

ーーーーーーーーーーーーーーーーーーーーーーーーーーー function gmail_pdf() { //1 設定 //保存するフォルダ const folderID='フォルダID' //Gmailの抽出条件 const conditions = "label:GmailPDFtodrive" //抽出数 const mail_count = 6 //2 メールPDFテンプレートを読み込む //このドキュメント読み込み const templete =DocumentApp.getActiveDocument(); //ドキュメントのIDを読み込み const templeteID=templete.getId();  //3 Gmailから抽出 let search_mail = GmailApp.search(conditions,0,mail_count); let mail_message = GmailApp.getMessagesForThreads(search_mail); //4 抽出したメールからデータ取得 for(let i= 0;i<mail_message.length;i++){ for(let j= 0;j<mail_message[i].length;j++){ //日付 let date = mail_message[i][j].getDate(); //件名 let subject = mail_message[i][j].getSubject(); //送信元 let senderaddress = mail_message[i][j].getFrom(); //受取人 let myaddress = mail_message[i][j].getTo(); //メール本文 let body = mail_message[i][j].getPlainBody(); //テンプレートをコピー let copy_doc =DriveApp.getFileById(templeteID).makeCopy(folderID); //コピーしたドキュメントのID取得 let copy_docID= copy_doc.getId(); //コピーしたドキュメントを開く let doc = DocumentApp.openById(copy_docID); //コピーしたドキュメントからテキストを読み込む  let doc_text =doc.getBody(); //テキストをGmailから取得したデータで置換 doc_text.replaceText('件名',subject).replaceText('送信元',senderaddress).replaceText('受取人',myaddress).replaceText('本文',body).replaceText('日付',date); //保存 doc.saveAndClose(); //PDFに変換 let pdf = doc.getAs('application/pdf'); //保存フォルダをGoogleドライブ上で読み込み const folder = DriveApp.getFolderById(folderID); //保存PDF名を設定 let filename = senderaddress+date; //PDFファイルを保存 folder.createFile(pdf).setName(filename); //コピーしたファイルを削除 const file = DriveApp.getFileById(copy_docID); file.setTrashed(true); }; }; };

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

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

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

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

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

guest

回答1

0

自己解決

大変失礼致しました。

移動先のフォルダIDに誤りがあり、修正したら解決しましたので御放念くださいませ。

投稿2022/03/27 08:23

316198492

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問