GASで担当者別集計表をPDF保存するコード

・担当者別集計表をPDF化してGoogle Driveへ保存
・保存フォルダを自動作成
・帳票管理を自動化できる

このコードでできること

・担当者別集計表をPDF保存

・Google Driveへ自動保存

・保存フォルダを自動作成

サンプルファイル

GASサンプルは、Googleドライブの配布フォルダーから利用します。

必要なファイルを選び、自分のGoogleドライブへコピーして使用してください。

配布フォルダーには、主に作業用サンプルと完成版があります。

・作業用サンプル
操作説明を見ながら、GASコードを設定して学びたい方に向いています。

・完成版
コードが設定された状態で、すぐに動作を確認したい方に向いています。

コピー方法や初回認証などの詳しい手順は、次のページで確認してください。

GASサンプルファイルの受け取り方
【完成版】案件管理システム作成プロジェクト_Ver.1

GASコード

function exportStaffSummaryPDF() {

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("担当者別集計(GAS)");

const folderName = "担当者別集計PDF";

let folder;

const folders = DriveApp.getFoldersByName(folderName);

if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(folderName);
}

const gid = sheet.getSheetId();

const url =
"https://docs.google.com/spreadsheets/d/" +
ss.getId() +
"/export?format=pdf" +
"&gid=" + gid +
"&size=A4" +
"&portrait=false" +
"&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 fileName =
"担当者別集計_" +
Utilities.formatDate(
new Date(),
Session.getScriptTimeZone(),
"yyyyMMdd_HHmmss"
) +
".pdf";

const file = folder.createFile(
response.getBlob().setName(fileName)
);

SpreadsheetApp.getUi().alert(
"PDF保存が完了しました。\n\n" +
"保存先フォルダ:担当者別集計PDF\n" +
"ファイル名:" + file.getName()
);

}

カスタマイズ例

パターン①

保存フォルダ名を変更する

const folderName = "案件管理PDF";

パターン②

縦向きPDFで保存する

"&portrait=true"

よくあるエラー

Googleの承認画面が何度も表示される

対処法
・承認処理を最後まで完了する
・再度スクリプトを実行する

PDFが保存されない

対処法
・Google Driveの容量を確認する
・担当者別集計(GAS)シート名を確認する

関連記事

▶ 前のページ:GASで担当者別集計表を自動作成するコード
プロジェクトトップページへ戻る

コメント