投稿

GASでGmailを効率化する方法 〜もしあなたがシステム管理者だったら〜

イメージ
朝9時、サーバーモニタリングのアラートが鳴る。システム管理者として、君は既に戦場にいる。次々と入ってくるメール、どれも一刻を争うかのように見える。目の前の画面には「未読:253件」の通知が冷たく表示されている。メールを処理する暇なんてない。だが、この未読の海からどうにかして脱出しなければならない。 システム管理者がGmailで重要なメールを受けるかどうかなんていう野暮なツッコミはなしにて、Gmailには幸いにもGoogle Apps Script(GAS)という救命ボートがある。今日はそれを使って、Gmailの管理を少しでも楽にする方法を考えてみよう。 目的 大量のメールの処理は、誰にとってもストレスの源だ。もしあなたがGmailを使っていてそう思うなら、GASを使って効率化することで、不要なメールを自動で整理し、本当に重要なメッセージに集中できるようにする事も出来る。このスクリプトを導入すれば、毎日何百通もの無駄な通知に苛立つことも少なくなるだろう。 準備 Gmailアカウント :これは必須。システム管理者なら当然のように持っているものだが、ここで問題はその数ではない。問題は、どれだけ君がその膨大な量に耐えられるかだ。 GASエディタ :Googleスプレッドシートから、 拡張機能 > Apps Script を開く。多くの人がこれを面倒に感じるかもしれないが、管理者にとっては日常の一部に過ぎない。 コードの説明 まずは、未読メールを検索し、それにラベルを付け、重要なものだけを目立たせる簡単なスクリプトだ。この一手間で、君の時間と労力はぐっと削減される。 function manageEmails ( ) { // 未読メールを検索 const query = 'is:unread' ; const threads = GmailApp . search ( query ) ; // 未読メールが見つかった場合、重要なものをラベル付け if ( threads . length > 0 ) { for ( let i = 0 ; i < threads . lengt...

GASでGoogleカレンダーを操作する方法

イメージ
月曜日の朝、カフェでコーヒーを啜りながら、ふと感じた。「このスケジュールの山をどうにかできないだろうか?」いや、正確に言うと、それはもう整理されているべきものだった。だって、Googleカレンダーがあるじゃないか。だが、それでも、予定を自動で管理できればどれだけ楽になるだろう。 そこで、今回はGoogle Apps Script(GAS)を使ってGoogleカレンダーと連携し、予定を追加したり削除したりする方法を紹介しよう。   目的 カレンダーは未来を管理するための道具だ。そして、未来とはいつも不安定で、時にわずかなズレで私たちを混乱に陥れる。例えば、アインシュタインが言ったように、時間は絶対的なものではなく、観察者によってその進み方が違う。だが、少なくともGoogleカレンダーは、君にとって一定の未来を見せてくれるはずだ。 準備 Googleカレンダー :カレンダーがなければ、未来は無秩序に過ぎ去る。管理するためには、まずカレンダーを手に入れよう。 GASエディタ :スプレッドシートを開いて、 拡張機能 > Apps Script でエディタを呼び出す。少しばかり面倒だが、やらねばならない儀式だ。 コードの説明 GASでGoogleカレンダーに予定を追加するコードは、以下の通りだ。簡単そうに見えるだろう?うん、そうなんだ。時間が相対的であることに比べれば、カレンダーに予定を追加するなんて難しいはずがない。 function createCalendarEvent ( ) { // カレンダーを取得 const calendar = CalendarApp . getDefaultCalendar ( ) ; // イベントの詳細を設定 const title = "未来との約束" ; // イベントのタイトル const startTime = new Date ( 2024 , 8 , 20 , 10 , 0 ) ; // 開始時間(年, 月, 日, 時間, 分) const endTime = new Date ( 2024 , 8 , 20 , 11 ...

GASでGoogleドキュメントを自動生成する方法

イメージ
ある朝、コーヒーを淹れながらふと思った。 Googleドキュメントが、ただ何も言わずに自動で生成されたらいいのに、と。 仕事の合間に開くドキュメント。たくさんの文章を打ち込むのも悪くないが、少し手助けがあればもっと快適になるかもしれない。というわけで、今回はGAS(Google Apps Script)を使って、Googleドキュメントを自動生成する方法を紹介しようと思う。何も難しいことはない。ただコードを書くだけだ。そしてそのコードは、確実に君のために動いてくれるだろう。 目的 Googleドキュメントを手作業で作るのは効率が悪い。ならば、自動で生成してしまえばいいじゃないか。毎日のレポートやフォーマットが決まった書類を自動化し、少しでも自由な時間を手に入れようじゃないか。 今回の目標は、GASを使ってGoogleドキュメントを生成し、特定の内容を自動で入力する方法だ。 ん?内容を自動で考えてくれなきゃ意味ないだって? 確かにそういう考え方もあるだろう。しかしよく考えてみてくれ。本当に業務に必要なのは、役に立たないと分かってはいても、誰が考えたのかも知らないくだらないルール通りの、決まり切った冗長な内容の文書を作成することだ、残念ながらな。ならば少しでも楽にこなしてしまおうではないか。そういうことだ。 準備 Googleドライブ :Googleドキュメントを保存するための場所が必要だ。そんなものはすでに君のGoogleアカウントにある。 GASエディタ :ドライブ上で新しいスプレッドシートを作成し、 拡張機能 > Apps Script を開こう。そうすればコードを書くための舞台が整う。 コードの説明 このコードは、Googleドキュメントを生成し、指定した内容を自動で挿入してくれる。 function createGoogleDoc ( ) { // ドキュメントのタイトルを決定する const title = "自動生成ドキュメント" ; // Googleドキュメントを新規作成 const doc = DocumentApp . create ( title ) ; const body = doc . getBody ( ) ; // タイトル...

GASでGoogleスプレッドシートをPDF化する方法(その1)

イメージ
スプレッドシートをPDFに変換する作業、毎回手動で行っていませんか?GASを使えば、スプレッドシートのPDF化を自動化することができ、業務効率が大幅にアップします。巷にもGASをPDFで出力する方法については溢れていますが、今回は最もよく使われる UrlFetchAppとex portFormat を使った方法を説明します。いずれ、違う方法も紹介します! 目的 Googleスプレッドシートの特定のシートを、GASを使ってPDF形式で保存し、メールで自動送信する方法を解説します。これにより、レポートや請求書などを毎回手動で作成する必要がなくなります。 準備 Googleスプレッドシート :PDF化したいスプレッドシートを用意。 GASエディタ :スプレッドシートを開き、 拡張機能 > Apps Script からエディタを開きます。 コードの説明 以下が、スプレッドシートをPDFに変換し、指定されたメールアドレスに送信するコードです。 function exportSheetAsPDF ( ) { // スプレッドシートとシートのIDを取得 const ss = SpreadsheetApp . getActiveSpreadsheet ( ) ; const sheet = ss . getSheetByName ( "Sheet1" ) ; // PDF化したいシート名を指定 // ファイルのプロパティを設定 const sheetId = sheet . getSheetId ( ) ; const url = ss . getUrl ( ) . replace ( /edit$/ , '' ) + 'export?' ; // PDF化オプション設定 const params = { exportFormat : 'pdf' , // PDF形式に変換 format : 'pdf' , size : 'A4' , // ページサ...