2020.01.10この記事は約8分で読めます。スプレッドシートはそのまま共有することも可能ですが、ファイル自体は共有したくない(というか、相手が外部だから共有できない場合)という場合、PDF化してメールに添付するという方法がメジャーです。GASで同じことを実装してみましょう。これは、昨日公開したIPOスタートアップの報酬データを何人から送って欲しいと言われた際の、対応に急遽作ったものなので、コードは雑い点ご了承ください(動作はします)。概要〜スタートアップの役員報酬の決め方について考えていきます。個人的な見解がメインです。創業期における一般的なテーブルや2019年IPO企業の一人当たり平均報酬額も事例として紹介しています。spreadsheetをPDF化してメール送付するスプレッドシートをPDF化するスプレッドシートは当然ながら、複数シートが含まれているケースが多いのですが、PDF化したい対象は主に以下の3パターンに分解されるかと思います。スプレッドシート全体をPDF化したい特定の1つのシートをPDF化したい特定の複数(2つ以上)のシートをPDF化したい今回は1と2のケースについて、対応が必要になったので、この2つを説明します。3の特定の複数シートをPDF化する方法は、2の特定の1つのシートの派生系ですので、別途記事を作成する予定です。対象となるスプレッドシートまずは、前提となるスプレッドシートは以下のようになっています。各社シートサンプルスプレッドシート全体をPDF化するでは、早速全体をPDF化してメールする方法から。これは、メソッドが提供されているので、簡単にできます。getAsは全てのシートをPDF化するしかできないのか。options)}ポイントはPDFを作成している、以下の部分と思います。ss.getAs("application/PDF").setName(sheetName+"PDF");getAs(contentType)メソッドはスプレッドシートクラスに属するメソッドです。リファレンスは以下を参照ください。TYPEに応じて、ファイル作成(blob)してくれます。言いつつ、contentTypeに含められるパラメータblobでは’application/pdf’のみ。valid.要は、pdfか画像しか作れないメソッドです。スプレッドシートクラスに属するメソッドということは、つまりスプレッドシート全体をPDF化するメソッドという意味です。個別のシートだけPDF化したいときはだめですね。特定の1つのシートをPDF化したい実はこれはオフィシャルにはサポートされていません。シートクラスには実は、getAs(contentType)メソッドはないんです。Developersdevelopers.google.comsheetクラスのリファレンスでは、どうするかとググると以下の記事がヒットしました。指定したシートをPDF化するスクリプトみていくと、要は/export?format=pdfのようにパラメータを渡すことでPDFやCSV形式でダウンロードすることが可能だから、それを使ってUrlfetchして作成しようという感じです。csvもこの形態で処理できるんだ。ことはGASさん公開してないだけで、やろうと思えばメソッド作れるやん。)という、心の声はおいておいて、ざっくり以下の感じにしました。}ポイントは以下かと思います。"&format=pdf&portrait=false&size=A4&gridlines=false&fitw=true"シンプルにシートURLと?gid(ここが個別のシートを指定する要素)を設定して、他のパラメータを複数渡して作成する形です。OAuthに必要なtokenの取得と利用あとは、この方法OAuthでToken取得しないといけないので、ScriptAppクラスも利用します。トークンの取得は以下。ScriptApp.getOAuthToken();取得したトークンをheaderにBearerでくっつけます。"報酬シート.pdf");ちなみに、Bearerというのは、持参人って意味合いです。トークンを持ってる人が正しい所有者って前提で作成されるOAuthの概念の一つ(マニアックだからノンプロメンバーは知らなくてもいいですw)まとめなんで、sheetClassにはgetAsメソッドがないんだと思いつつ、/export?format=を使えば色々できることが把握できました。使わないかもだけど覚えておこうと思います。今回は会社別役員報酬のデータという、日頃誰も使わないデータが対象でしたが、別にその他のレポートでも、請求書でも同じことができますね。実務に使える要素を学習して、適用していってください。spreadsheetをPDF化してメール送付するspreadsheetで作成したデータをPDF化してメールしてみましょう。spreadsheetのPDF化の方法(1つのシート、全てのシート、特定の複数シート)を紹介しています。はてブ0ks_Accountingをフォローするks_Accounting経営管理deプログラミング関連記事GASspreadsheetでカスタムメニューを作成するスプレッドシートのUiを独自にカスタマイズして、自分が利用したいスクリプトをタブに表示させていきます。スクリプト画面を立ち上げなくても、メニューバーから作ったスクリプトが実行できるようになります。定期的に作業をするマスターシートなどに組み込むといいです。GASGASで効率化させる月次決算進捗管理〜スプレッドシートの作成と管理ツールの設計概要〜GASで効率化させる月次決算進捗管理の方法を紹介していきます。今回は月次決算の意味や、どうやって早期化・安定化させていくかのイメージをラフに書いています。決算早期化のための改善策の考え方なども紹介しています。GASGASでECMAScriptが使えるようになったので、早速試してみる〜設定とアロー関数〜GASでECMAScriptが使えるようになったので、早速試してみるました。V8の設定方法と実際にアロー関数がサポートされていることを確認しました。ロギングが少し時間がかかるのでscriptダッシュボードで確認するようにしてもいいかもですね。GAS【コード解説シリーズ】GASをフル活用して有給管理システムを自作する〜まずは設定から〜GASをフル活用して有給管理システムを自作するシリーズ、今回はコードではなく、Form・スプレッドシート・SlackBotの設定編です。htmlメールの設定とトリガー設定)〜GASをフル活用して有給管理システムを自作する、のコードを説明しています。今回は、申請者がForm登録したタイミングで承認者にメールを送る部分が対象です。htmlメールの設定とトリガー設定が実装できるようになります。GASイベントトリガーを使ってスプレッドシートが更新時に自動でメールを送る方法インストーラブルトリガーを利用して、スプレッドシートに特定の編集がなされた時に、メールする方法を解説しています。イベントトリガーは編集された時はいつでも発動してしまうので、GASのコード内で条件指定してメールを送るようにしています。コメントをキャンセルメールアドレスが公開されることはありません。scriptでできること2019.04.102020.01.22。