未ログイン状態で閲覧中
  • 投稿日:2026/02/08
【勉強会ハンズオン】請求書PDF作成→Drive保存→Gmail送信を自動化【260208】

【勉強会ハンズオン】請求書PDF作成→Drive保存→Gmail送信を自動化【260208】

ハムすけ🐹業務改善のスペシャリスト

ハムすけ🐹業務改善のスペシャリスト

この記事は約14分で読めます
要約
GASって何🤔?難しそうだけど…でも便利そう💭 配布シートを真似するだけで、請求書をPDFにして保存→メール送信までをボタン1つにできます♪ 最初の許可の進め方やつまずき対策もあるので、初心者でも「自動で動く」を体験できます🐹

0章|この記事でできること(最初にゴールを固定)

この勉強会ハンズオンでは、スプレッドシートとGASを使って「請求書送付」を自動化します。 難しそうに見えますが、手順どおりに進めれば初心者の方でも再現できます。

今回できるようになることは、次の6つです。

・GASでGoogleドライブに「サンプルフォルダ」を自動作成する
 →ここで「承認(権限)」の流れも体験します
・請求書シートの範囲(A1:F44)を、A4縦のPDFに変換する
・変換したPDFを、指定したGoogleドライブのフォルダに保存する
・保存したPDFを、Gmailで自動送信する
・仕上げとして、メニュー/ボタンで「1クリック実行」にする
・延長戦として、誤送信防止(送信前の確認など)を追加する

このハンズオンは、勉強会で配布したサンプルスプレッドシートとプロンプトテンプレを前提にしています。 シート名・PDF化する範囲(A1:F44)・用紙(A4縦)は固定なので、迷わず進められます。


1章|勉強会配布資料

今回の勉強会資料は、Webサイト(Webアプリ)にすべてまとめてあります。
スクリーンショット 2026-02-08 14.27.42.png 画像のとおり、Step1〜Step5の順に進めればOKです。
※Step6はアンケートですが、期限が切れています。

Step1|勉強会スライド資料(開く)

まずはスライドを開いて、全体像をつかみます。 この記事は手順書として書いていますが、スライドを見ると「今どの段階か」流れがわかります。

Step2|サンプルスプレッドシート(コピーして使う)

配布シートを自分のドライブにコピーして使います。 今回のハンズオンは、次の前提が固定です。

シート名:請求書、マスタ
PDF化する範囲:A1:F44
用紙:A4縦

固定にしている理由はシンプルで、初心者が詰まりやすい「範囲ズレ」「シート名ズレ」を最初から消すためです。

Step3|Google Drive フォルダ作成コード(コピー)

ここは最初の一歩です。 GASを動かして、Googleドライブにサンプルフォルダを作成します。

Step4|AIへの指示用プロンプト(PDF→Gmail)(コピー)

ここから本番です。配布プロンプトをそのままAIに渡します。

Step5|完成版コード(保険)(コピー)

AIのコード生成がうまくいかなかった場合のために、動作確認済みコードも用意しています。

GmailでPDFを添付送信
送信後にPDFの名前とURLをログに出す

詰まったらここに戻って、まず動かして成功体験を取りにいきます。

2章|GASとは

GASは「Googleサービスをつなぐ自動化スイッチ」

GAS(Google Apps Script)は、Googleが用意している仕組みで、 スプレッドシートやGmail、Googleドライブなどを“つないで”作業を自動化できます。

イメージとしては、

ふだん人がやっている「手作業」を
ボタン1つで、まとめて実行できるようにする

たとえば、請求書送付だと
PDFを作る
→フォルダに保存する
→メールで送る

この3つを、毎回手でやっている人が多いです。
GASはここをまとめて自動化できます。

今回は「Sheets→Drive→Gmail」をつなぐ

今回のハンズオンは、まさにGASの得意技です。

Sheets(スプレッドシート):請求書の元データがある場所
Drive(Googleドライブ):PDFを保存する場所
Gmail:保存したPDFを送る場所

専門用語ミニ辞書(5つだけ)

承認(権限)
GASがDriveやGmailにアクセスする許可を出すこと。最初は必ず出る。

ログ
実行中に「いま何をしたか」を記録するメモ。うまく動かないときの手がかりになる。

関数
GASの中で「この処理をやる」という命令のまとまり。ボタンやメニューから呼び出して動かす単位。

フォルダID
Driveのフォルダを特定するための文字列。URLの一部。今回だとマスタB2に入れる。

onOpen
スプレッドシートを開いたタイミングで自動実行される特別な関数。メニューを自動で出すときに使う。

3章|体験1:Driveフォルダの自動作成

この章の目的は2つです。

✅️ GASを動かして「自動で動く」体験をする
✅️ 最初の壁である承認(権限)をここで突破する

STEP1|拡張機能からApps Scriptを開く

1.pngサンプルスプレッドシートを開きます

2.pngメニューから 拡張機能 → Apps Script をクリックします

3.pngブラウザでスクリプトエディタが開けばOKです
ここで開く画面が、これからGASを貼り付けて実行する場所になります。

STEP2|配布されたコードをエディタに貼る

配布ページの Step3 にある「Google Drive フォルダ作成コード」をコピーします。 そのままApps Scriptの画面に貼り付けます。

4.png💡 ポイント

Driveフォルダ作成.gsにコピペする
最初から入っているコードは上書きしてOK
貼り付けたら保存します(保存ボタンを押す)

STEP3|実行して権限を承認する

保存できたら、実行ボタンを押します。 初回はほぼ確実に「承認が必要です」が出ます。ここが最初の山場です。

5.png6.png7.png8.png

STEP4|Driveに新フォルダが作成される

9.png実行が成功すると、Googleドライブにフォルダが作成されます。 この時点で「自動化の第一歩」はクリアです👏

4章|作業1:作成したDriveフォルダのリンクをマスタに貼る

配布スライドでは、フォルダのURLをマスタに貼り付ける流れになっています。

STEP1|フォルダの共有設定を変更する

10.png11.png作成されたフォルダを開き、共有設定を リンクを知っている全員(閲覧者でOK) に変更します。

STEP2|リンクをコピーする

共有画面の「リンクをコピー」を押してURLを取得します。

STEP3|マスタシートのセルB1に貼り付ける

12.pngスライドの指示通り、マスタシートのB1にURLを貼り付けます。

STEP4|セルB2にIDが抽出されたことを確認する

B1にURLを貼ると、B2にフォルダIDが自動で入る設計になっています。 ここでB2が空のままだったら、次へ進まず止まってOKです。

STEP5|セルB3に送信したい宛先を入力する

13.pngまずはテストなので、自分のメールアドレスを入れます。 このB3が、後でGmail送信の宛先になります。

5章|ハンズオン②:AIにプロンプトを渡して本体を作る

ここからが本番です。自分でコードを書くのではなく、配布資料のプロンプトをそのままAIに渡して「本体(PDF作成→保存→Gmail送信)」のコードを作ります。

この章のゴールは2つです。

✅️ 請求書シート(A1:F44)をA4縦PDFにしてDriveへ保存できる

✅️ 保存したPDFを、Gmailで自動送信できる

事前チェック(ここが揃っていれば成功率が上がる)

ハンズオン①と作業①を終えた時点で、次が揃っているか確認します。

・マスタB2にフォルダIDが入っている
・マスタB3に送信したい宛先(今回は自分のメール)が入っている
・請求書シートが存在していて、範囲がA1:F44になっている

揃っていれば次へ進みます。

STEP1|配布資料のStep4を、そのままAIに入力する

14.png配布ページの Step4「AIへの指示用プロンプト(PDF→Gmail)」 を開き、全文をコピーします。そのままChatGPTやGeminiなどのAIに貼り付けて送信します。

💡 ポイント:プロンプトは改変しなくてOKです

STEP2|AIが返したコードをApps Scriptに貼り付ける

15.pngAIがコードを返してきたら、コード部分をコピーします。次に、Apps Scriptの画面に戻ります。

16.pngPDF→Gmail.gs選択する

AIのコードを貼り付け

保存ボタンを押す

ここで大事なのは「とりあえず動かす」ことです。
細かい改善(件名、本文、ファイル名など)は後でできます。

STEP3|実行して、2回目の承認を通す

保存したら、実行ボタンを押します。すると多くの場合、ここで 2回目の承認(権限) が出ます。

これは正常です。理由はシンプルで、今回は

Driveへのアクセス(PDF保存)

Gmailの送信(メール送付)

が必要になるため、最初のフォルダ作成よりも強い権限が追加されるからです。

承認の流れは基本的に同じです。
17.pngただし、今回は最初のGASよりも使用するツールが多いために、すべて選択にチェック☑️をして続行してください。

承認が通れば、そのまま処理が最後まで走ります。

STEP4|GmailにPDFが届けば成功

18.png実行が成功すると、マスタB3に入力した宛先にメールが届きます。添付ファイルとして、請求書PDFが入っていれば成功です。

6章|つまずき救済:エラーが出た時の戻り方

ここは短くいきます。 GAS×AIハンズオンでエラーが出るのは普通です。大事なのは「戻り方」を決めておくことです。

まずルールは1つだけ

19.png赤いエラー全文を、そのままAIに貼って「エラーを修正して」と言う。

Apps Scriptの「実行ログ」に出た赤いエラーをコピー(もしくはスクショでもOK)
※MacBookの場合は、⌘ + ⌥ + Aのショートカットキーでスクショを撮って、AIの入力欄に⌘ + Vで貼り付けるだけです。

20.pngAIに貼る
「エラーを修正して」一言だけ添える

これでOKです。 エラー文を自分で解読しようとして止まるより、復帰が早いです。

何回か挑戦してエラー修正できない場合には、AIで新しいチャットを立ち上げて、もう一度プロンプトを入れ直す方が早い場合もあります。

7章|実務化:メニュー化・ボタン化で1クリックにする

ここまでで「PDF作成→Drive保存→Gmail送信」は動きました。でも、毎回Apps Scriptを開いて実行するのは現場では面倒です。

この章では、スプレッドシート上から 1クリックで実行できる形 に仕上げます。

・メニュー追加(onOpen)
・図形ボタン(シート上のボタン)

どちらか片方でもOKですが、両方やると運用が楽になります。

方法①|onOpenでメニューを追加する

STEP1|メニュー用のコードを追加する

21.pngApps Scriptに、新しいスクリプトを追加します。

スクリプト名は「メニュー」など何でも大丈夫です。

22.pngそして、次のコードを追加します。

function onOpen() {

  const ui = SpreadsheetApp.getUi();

  ui.createMenu('請求書ツール')

    .addItem('請求書PDF作成&メール送信', 'exportInvoicePdfAndSendMail')

    .addToUi();

}

23.pngここで一番大事なのは、最後の 'exportInvoicePdfAndSendMail' です。これは「クリックされた時に実行する関数名」なので、あなたの本体関数名と一致していないと動きません。

STEP2|本体関数名を確認して合わせる

AIが作ったコードの中で、メイン処理の関数名を探します。例:

function exportInvoicePdfAndSendMail() { ... }

function main() { ... }

function sendInvoice() { ... }

もし本体が function main() なら、メニュー側もこう直します。

.addItem('請求書PDF作成&メール送信', 'main')

この「関数名の一致」が、ここで一番詰まりやすいポイントです。

STEP3|保存して、シートを開き直す

24.pngonOpenは「シートを開いた時」に動きます。なので、保存したら一度シートを更新(再読み込み)してください。

方法②|図形ボタンを作って、関数を割り当てる

メニューよりもさらに分かりやすいのが、シート上のボタンです。非エンジニアの方に渡すなら、ボタン運用が一番安定します。

STEP1|図形を作る

25.pngスプレッドシートで

挿入 → 図形描画

を開き、四角形などの図形を作ります。中に「送信」や「請求書送付」などの文字を入れて保存します。

STEP2|図形にスクリプトを割り当てる

26.pngシート上に配置された図形の右上の「︙」をクリックし、

スクリプトを割り当て

を選びます。

そこに、実行したい関数名を入力します。
例:exportInvoicePdfAndSendMail

⚠️注意点
・() は付けません
・コピペするなら、関数名だけを正確に

STEP3|クリックして動けば完成

ボタンを押して、請求書PDFが作成されてメール送信されれば成功です。

ここで詰まった時のチェック(最短)

・関数名が一致しているか
・スペルミスがないか(大文字・小文字含めて)
・onOpenを追加した後、シートを開き直したか
・図形を削除したいときには右クリックを押します。


⚠️ここも注意点
一度スクリプトを割り当てると、クリックするだけでGASが実行されてしまいます。そのため、図形を削除したい、編集したい場合には右クリックを押して右上の「︙」を表示させ、そこから編集や削除を行ってください。

8章|延長戦:誤送信防止

本編が終わったあと、参加者の方からこんな質問が出ました。

👤「送信する前に、確認メッセージを出せませんか?」

請求書のように“送ったら戻せない作業は、実務だとここが一番怖いポイントです。 そこで居残り時間で、誤送信防止として 送信前の確認ダイアログ(OK/キャンセル) を追加しました。

27.png28.pngここで大事なのは、完成した機能そのものだけではありません。
勉強会で参加者に一番伝えたかったのは、次の考え方です。

✅️ 疑問をそのままAIに投げる
✅️ AIが「必要な処理」を考えて
✅️ それっぽいコードに落としてくれる

つまり、エラー対応だけでなく「改善アイデア」もAIに投げられる、ということです。

まとめ|GAS×AIで「請求書送付」を1クリックにできた

今回は勉強会ハンズオンとして、スプレッドシートとGASを使い、請求書送付の流れを自動化しました。 ゴールは「手順どおりにやれば、初心者でも再現できる」こと。配布物も含めて、迷子になりにくい形に整えています。

この記事でやったこと

・GASでGoogleドライブにサンプルフォルダを自動作成(まずは成功体験)
・請求書シート(A1:F44)をA4縦PDFに変換してDriveへ保存
・保存したPDFをGmailで自動送信
・メニュー化/ボタン化で1クリック実行に
・延長戦で誤送信防止(送信前の確認ダイアログ)を追加

次におすすめの横展開(同じ型で増やせる)

今回の仕組みは請求書だけで終わりません。次のように横展開できます。

・見積書/納品書/報告書のPDF化と自動送付
・送信ログをシートに残す(日時・宛先・ファイルURL)
・宛先を複数にして一括送信(誤送信防止つき)
・「テスト送信モード」を用意して安心運用

おわりに:お願い🙏

✅️ この記事が少しでも役に立ったと感じたら、つぶやきでシェア、コメントやいいね、ブックマークをよろしくお願いします✨️次の記事を作る励みになります🐹✨️


✅️ スプレッドシートの相談に乗ります❗️ノウハウ図書館でいくつものテンプレートを配布していますが、

💭「読んだだけじゃわからない…🌀」

💭「自分が使っているものを見てもらいたい…」

という方はぜひスキルマーケットでご相談ください🙏

【作業効率化】あなただけのスプレッドシートを作成します!

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

これからもスプシの関数や便利な情報について記事を投稿していき、少しでもスプシへのハードルを下げていきたいと思っています✨️

この記事がスプシのトリセツの目次(まとめ記事)になりますので
👇️こちらの記事のブックマークをおすすめします👍️

【保存版】スプシのトリセツ〜見て・触って・覚える!初心者のためのスプレッドシート練習帳付〜【目次】

随時、更新していきます🐹

最後まで読んでいただきありがとうございました♪

何かわからないことなどありましたらお気軽にコメントやDMください📥️✨️

ブックマークに追加した記事は、ブックマーク一覧ページで確認することができます。
あとから読み返したい時に便利です。

ハムすけ🐹業務改善のスペシャリスト

投稿者情報

ハムすけ🐹業務改善のスペシャリスト

トラ会員

この記事に、いいねを送ろう! 参考になった記事に、
気軽にいいねを送れるようになりました!
この記事のレビュー(4
  • 会員ID:SKhvDiu2
    会員ID:SKhvDiu2
    2026/02/08

    勉強会参加できなくて残念・・と思っていたら、こちらの記事を見つけました。こちらで勉強させていただきたいと思います!このような記事を作っていただきありがとうございます!

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

    2026/02/09

    そのような方に向けて、記事を書いたので 役に立ってよかったです😁 ぜひご活用ください🐹♪

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

  • 会員ID:Yw2vpLk3
    会員ID:Yw2vpLk3
    2026/02/08

    ハムすけさん、ありがとうございます! スプレッドシート初心者🔰のため、勉強会ではなかなかついていけず…🤣 あとで自分のペースでゆっくり復習できたらいいなと思っていたので、本当に嬉しいです。 これなら私にもできそうです! 分かりやすい内容を共有してくださり、ありがとうございました😭

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

    2026/02/08

    勉強会では、進行が早かったようで反省しております🙏 これで少しでも復習になればという思いで作成しました!ぜひご活用ください🐹♪

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

  • 会員ID:L5hkkNsZ
    会員ID:L5hkkNsZ
    2026/02/08

    非常に有益なノウハウをありがとうございます🙏✨ 勉強会に参加できなかったため、 本記事を読みながら実践したいと思います🙌 記事にしてくださりありがとうございました😊

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

    2026/02/08

    こちらこそわざわざレビューありがとうございます♪ぜひ実践してみてください! 少しでもお役に立てたらうれしいです🐹

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

  • 会員ID:C47Znnnh
    会員ID:C47Znnnh
    2026/02/08

    ハムすけさん 非常に有益なノウハウ共有ありがとうございます! 試してみます☺️

    ハムすけ🐹業務改善のスペシャリスト

    投稿者

    2026/02/08

    レビューありがとうございます♪ ぜひ試していただけたらと思います! わかりづらい部分があったら教えてください🐹

    ハムすけ🐹業務改善のスペシャリスト

    投稿者