
GASでGoogleスライドをPDF化してメール送信!自動化であなたの貴重な時間を節約しましょう。
GASでスライドをPDFにしてメール送信:自動化で業務効率UP
Google Apps Script(GAS)を使って、GoogleスライドをPDFに変換し、メールで自動送信する方法を解説します。この自動化により、プレゼンテーション資料の共有や報告業務を効率化できます。
GASは、Google Workspaceの各種サービスを連携させて自動化するための強力なツールです。今回は、そのGASを活用して、スライドのPDF化とメール送信を自動化するスクリプトを作成します。
プログラミング初心者の方でも理解しやすいように、コード例を交えながら丁寧に解説していきます。ぜひ、この記事を参考に、日々の業務を効率化してみてください。
GASのスクリプトエディタを開く
まず、Googleスライドを開き、メニューバーから「ツール」→「スクリプトエディタ」を選択してGASのスクリプトエディタを開きます。
新しいプロジェクトが開いたら、スクリプトを記述する準備が完了です。
スクリプトエディタは、GASのコードを記述・実行するための環境です。ここで、スライドをPDFに変換し、メールを送信するスクリプトを作成していきます。
スライドをPDFに変換するコード
以下のコードは、指定したスライドをPDFに変換し、Blobとして取得する関数です。
function slideToPdf(presentationId) {
// スライドのIDを指定
var presentation = SlidesApp.openById(presentationId);
// スライドをPDFとしてエクスポート
var url = "https://docs.google.com/presentation/d/" + presentationId + "/export/pdf?exportFormat=pdf";
// APIを叩くための認証トークンを取得
var token = ScriptApp.getOAuthToken();
// PDFをダウンロードするためのオプション
var params = {
"method": "get",
"headers": {
"Authorization": "Bearer " + token
},
"muteHttpExceptions": true // HTTP例外を抑制
};
// PDFデータを取得
var response = UrlFetchApp.fetch(url, params);
var pdfBlob = response.getBlob().setName(presentation.getName() + ".pdf");
return pdfBlob;
}
この関数は、presentationId
を引数として受け取り、指定されたIDのスライドをPDF形式に変換します。UrlFetchApp.fetch
を使用してGoogle Drive APIにアクセスし、PDFデータを取得しています。
muteHttpExceptions: true
を設定することで、HTTPエラーが発生した場合でもスクリプトが停止しないようにしています。これにより、APIへのアクセスが一時的に失敗した場合でも、エラーを適切に処理できます。
メールを送信するコード
次に、作成したPDFをメールで送信するコードです。
function sendPdfByEmail(pdfBlob, recipientEmail, subject, body) {
// メール送信オプション
var options = {
attachments: [pdfBlob]
};
// メール送信
MailApp.sendEmail({
to: recipientEmail,
subject: subject,
body: body,
attachments: [pdfBlob],
name: 'スライドPDF自動送信',
});
}
この関数は、pdfBlob
(PDFデータ)、recipientEmail
(送信先メールアドレス)、subject
(メールの件名)、body
(メールの本文)を引数として受け取ります。
MailApp.sendEmail
を使用してメールを送信します。attachments
オプションでPDFデータを添付しています。
メイン関数:スライドをPDFにしてメール送信
最後に、上記二つの関数を組み合わせて、スライドをPDFにしてメール送信するメイン関数を作成します。
function main() {
// スライドのID、送信先メールアドレス、件名、本文を設定
var presentationId = "YOUR_SLIDE_ID"; // ここにスライドIDを入力
var recipientEmail = "your_email@example.com"; // 送信先メールアドレス
var subject = "【自動送信】スライド資料(PDF)";
var body = "お疲れ様です。
スライド資料を添付します。ご確認ください。";
// PDFを作成
var pdfBlob = slideToPdf(presentationId);
// メールを送信
sendPdfByEmail(pdfBlob, recipientEmail, subject, body);
Logger.log('メール送信完了');
}
この関数では、まず、スライドのID、送信先メールアドレス、件名、本文を設定します。YOUR_SLIDE_ID
とyour_email@example.com
は、ご自身の環境に合わせて変更してください。
次に、slideToPdf
関数でPDFを作成し、sendPdfByEmail
関数でメールを送信します。
スクリプトを実行する前に、スクリプトエディタのツールバーにある「実行」ボタンをクリックし、権限を承認する必要があります。
トリガー設定で定期実行
GASのトリガーを設定することで、このスクリプトを定期的に実行できます。
スクリプトエディタの左側にある時計のアイコン(トリガー)をクリックし、「トリガーを追加」ボタンをクリックします。
実行する関数、イベントソース、時間間隔などを設定し、保存します。例えば、毎日午前9時に実行するように設定できます。
トリガーを設定することで、毎日の報告業務などを完全に自動化できます。
参考リンク
- Google Apps Script | Google Developers
- SlidesApp | Apps Script | Google Developers
- MailApp | Apps Script | Google Developers
まとめ
GASを使って、GoogleスライドをPDFに変換し、メールで自動送信する方法を解説しました。この自動化により、資料作成や共有にかかる時間を大幅に削減できます。
今回紹介したコードを参考に、ぜひご自身の業務に合わせてカスタマイズしてみてください。GASを活用することで、様々な業務を自動化し、より効率的な働き方を実現できます。