Google Apps Script(GAS)を使って、スプレッドシートの内容をPDF形式で保存する方法をご紹介します。パソコンやスマホに詳しくない方でも、手順に沿って進めれば簡単に実行できますよ。
なぜGASでPDF化するのか?
スプレッドシートの内容をそのままPDFに変換することで、以下のようなメリットがあります。
- 他の人に見せるときに見やすくなる
- メールに添付して送るのが簡単になる
- 印刷する際にレイアウトが崩れにくくなる
特に、毎月の請求書や報告書など、決まったフォーマットでPDFを作成する場面で活躍します。
準備するもの
始める前に、以下のものを準備しましょう。
- Googleアカウント(Gmailなどを使っている方はすでに持っています)
- Googleスプレッドシート(請求書や報告書などのデータが入っているもの)
- Google Apps Script(スプレッドシートに組み込まれているスクリプト機能)
手順1スプレッドシートを開く
まず、PDF化したいスプレッドシートを開きます。例えば、請求書のデータが入力されているシートを開いてください。
手順2スクリプトエディタを開く
次に、スプレッドシートの上部メニューから「拡張機能」→「Apps Script」を選択します。これで、スクリプトエディタが開きます。
手順3コードを入力する
スクリプトエディタが開いたら、以下のコードをコピーして貼り付けてください。
javascript
function saveAsPDF() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var folder = DriveApp.getFolderById('YOUR_FOLDER_ID'); // 保存先のフォルダIDを指定
var url = 'https://docs.google.com/spreadsheets/d/' + spreadsheet.getId() + '/export?format=pdf&gid=' + sheet.getSheetId();
var options = {
method: 'get',
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
};
var response = UrlFetchApp.fetch(url, options);
var blob = response.getBlob().setName(sheet.getName() + '.pdf');
folder.createFile(blob);
}
このコードは、現在開いているシートをPDFに変換し、指定したGoogleドライブのフォルダに保存するものです。
手順4フォルダIDを取得する
コード内の「YOUR\_FOLDER\_ID」の部分を、実際のGoogleドライブのフォルダIDに置き換えます。フォルダIDは、フォルダを開いたときのURLから確認できます。
手順5コードを保存して実行する
コードを貼り付けたら、エディタの上部にある「保存」ボタンをクリックし、プロジェクト名を入力します。その後、「実行」ボタンをクリックすると、初回は認証を求められますので、指示に従って許可してください。
手順6PDFが保存される
実行が完了すると、指定したフォルダにPDFファイルが保存されます。ファイル名はシート名と同じになります。
応用編複数のシートを一括でPDF化する
もし、複数のシートをまとめてPDF化したい場合は、以下のコードを使用します。
javascript
function saveAllSheetsAsPDF() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var folder = DriveApp.getFolderById('YOUR_FOLDER_ID'); // 保存先のフォルダIDを指定
var url = 'https://docs.google.com/spreadsheets/d/' + spreadsheet.getId() + '/export?format=pdf&gid=';
var options = {
method: 'get',
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
};
var sheets = spreadsheet.getSheets();
sheets.forEach(function(sheet) {
var sheetUrl = url + sheet.getSheetId();
var response = UrlFetchApp.fetch(sheetUrl, options);
var blob = response.getBlob().setName(sheet.getName() + '.pdf');
folder.createFile(blob);
});
}
このコードは、スプレッドシート内のすべてのシートをPDFに変換し、指定したフォルダに保存します。
よくある質問や疑問
Q1: スプレッドシートをPDFに変換するだけでなく、メールで送信することはできますか?
はい、可能です。GASを使ってPDFを生成し、そのPDFをメールに添付して送信することができます。メール送信のコードもGASで簡単に書けますので、必要であればご案内します。
Q2: PDFのレイアウトをカスタマイズすることはできますか?
はい、可能です。GASでは、PDF化する際のオプションを設定することができます。例えば、用紙サイズや余白、印刷タイトルの表示・非表示などを指定できます。
Q3: スプレッドシートの特定の範囲だけをPDFにすることはできますか?
はい、特定の範囲をPDFにすることも可能です。GASで範囲を指定し、その部分だけをPDF化するスクリプトを作成できます。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
今回は、Google Apps Script(GAS)を使って、スプレッドシートの内容をPDF形式で保存する方法をご紹介しました。手順に沿って進めれば、初心者の方でも簡単に実行できます。業務の効率化やデータの共有に役立ててください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。
コメント