GASでスプレッドシートを印刷する方法|PDF出力からメール送信まで完全ガイド
スプレッドシートの内容をGASで印刷できたら便利なのに…そんな方法あるの?

猫男

catman
ふふふ、それもGASなら可能だ。catmanが伝授しよう。
GASで「印刷」ってどうやるの?
GAS(Google Apps Script)には、直接「プリンターで印刷する」命令はありません。
でも、
PDFとして出力 → 自動ダウンロード or メール添付
という形で「印刷と同じようなこと」はできます!
印刷用にPDFを作成する
まずは、スプレッドシートの特定シートをPDFに変換する基本コードです:
function exportSheetToPDF() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetId = ss.getActiveSheet().getSheetId();
const url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + '&gid=' + sheetId + '&portrait=true' + '&fitw=true' + '&sheetnames=false' + '&printtitle=false' + '&pagenumbers=false' + '&gridlines=false' + '&fzr=false'; const token = ScriptApp.getOAuthToken();
const response = UrlFetchApp.fetch(url, { headers: { Authorization: 'Bearer ' + token } });
const blob = response.getBlob().setName(ss.getName() + '.pdf');
DriveApp.createFile(blob);
}
えっ、GASでPDF作ってドライブに保存できるの!?

猫男
PDFをメールで送って印刷
さらに自動でメール送信もできます:
function sendSheetAsPDF() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetId = ss.getActiveSheet().getSheetId();
const url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + '&gid=' + sheetId;
const token = ScriptApp.getOAuthToken();
const response = UrlFetchApp.fetch(url, { headers: { Authorization: 'Bearer ' + token } });
const blob = response.getBlob().setName(ss.getName() + '.pdf');
GmailApp.sendEmail('your-email@example.com', 'シートの印刷用PDF', 'こちらが印刷用のPDFです', { attachments: [blob] });
}

catman
これで、印刷したい人に自動で送れる。まさに業務効率化の極みだ。
まとめ:GASで印刷の自動化
- GASでは直接印刷はできないが、PDF化して実質印刷が可能
- Driveに保存 or Gmail送信など応用多数!
- 定期実行+PDF化+メール送信で、完全自動印刷フローも作れる
やった!GASで印刷ができるなんて思わなかった〜!

猫男

catman
次は印刷レイアウトの調整にも挑戦してみよう。さらなる自動化の道は続くぞ…