Google Apps Script(以下GAS)をこれから勉強する場合、どのように始めればいいのか分からない人もいると思います。
そこで、この記事では以下のことを解説していきます。
・Google Apps Scriptの3つの実行方法を動画で理解できる
・カンタンなタスク進捗表をGoogle Apps Scriptで使えるようになる
GASに関する知識がゼロでも、約10分で実行方法まで分かるように動画解説していきます。
目次
Google Apps Scriptの始め方を動画で解説
以下、動画の目次です。
本記事で紹介したい内容は全て動画でお伝えしているので、ぜひ動画をご覧ください。
0:26 ステップ1|Googleアカウントでログイン(Googleアカウントがない場合は、アカウントを作成する)
1:06 ステップ2|Googleスプレッドシートを起動する
1:32 ステップ3|スクリプトエディタを起動する
1:55 ステップ4|背景色を黒にする(実施してもしなくてもOK)
https://chrome.google.com/webstore/detail/appsscript-color/ciggahcpieccaejjdpkllokejakhkome
3:10 スプレッドシートに情報を入力していく
4:18 Google Apps Scriptのプログラムを入れる(プログラムは以下のウェブページで公開)
4:44 ステップ5|動画内で紹介しているプログラムを使うときの3つの注意点
4:48 注意点1|ライブラリ設定をする
MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48 Moment.jsを使うためのライブラリキーで使用可能
5:47 注意点2|スプレッドシートのIDを変更する
6:08 注意点3|スプレッドシートのシート名に注意する
6:51 ステップ6| Authorization requiredが出るので、許可を確認
7:36 ステップ7|プログラムを実行する3つの方法
7:36 実行方法1|実行ボタンでプログラムを実行
7:41 実行方法2|ボタンクリックでプログラムを実行
8:57 実行方法3|トリガー設定して定期実行
プログラムのコード全体像
コード0|プロシージャ名(の設定)
コード1|スプレッドシート指定
コード2|最終行を取得
コード3|日付を取得(15日前)
コード4|日付を取得(5日前)
コード5|開始行の設定
コード6|前回の進捗表をリセットする
コード7|シート1の進捗状況を1行ずつ取得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
//*1:MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48 Moment.jsを使うためのライブラリキーで使用可能 //コード0|プロシージャ名 function myShinchoku() { //コード1|スプレッドシート指定 var spreadsheet = SpreadsheetApp.openById('1kGWkBTESt6GjuOF47Yp_e4RoxXBnck-xPOrTVryjlaA'); var sheet1 = spreadsheet.getSheetByName('シート1'); var sheet2 = spreadsheet.getSheetByName('シート2'); //コード2|最終行を取得 var Lastrow1 = sheet1.getLastRow(); var Lastrow2 = sheet2.getLastRow(); //コード3|日付を取得(15日前) var Today = Moment.moment(new Date());//*1 var d1 = sheet2.getRange(2, 2).getValue(); var d1_date = Today.add(d1, 'd').format();//*1 //コード4|日付を取得(5日前) Today = Moment.moment(new Date());//*1 var d2 = sheet2.getRange(3, 2).getValue(); var d2_date = Today.add(d2, 'd').format();//*1 //コード5|開始行の設定 var j = 6; //コード6|前回の進捗表をリセットする if(Lastrow2 >= 6){ sheet2.getRange(6, 1, Lastrow2, 6).clear(); } //コード7|シート1の進捗状況を1行ずつ取得 for(var i = 2; i <= Lastrow1; i++) { if(sheet1.getRange(i, 4).getValue()!=='完了'){ var Kigen = Moment.moment(sheet1.getRange(i, 5).getValue()).format();//*1 Logger.log(Kigen) //コード8|進捗が迫っているタスクをシート2に転記 if(Moment.moment(d1_date).isAfter(Kigen)){//*1 var range = sheet1.getRange(i, 1, 1, 6).getValues(); var myRange=sheet2.getRange(j, 1, 1, 6) myRange.setValues(range) myRange.setBackground("#FFFF00");//黄色 if(Moment.moment(d2_date).isAfter(Kigen)){ //*1 myRange.setBackground("#FF0000");//赤色 } j=j+1; } } } } |
以下、カンタンに内容を説明していきます。
コード0|プロシージャ名(の設定)
1 |
function myShinchoku() { |
このプログラムの名前です。特に説明は不要かと思います。
コード1|スプレッドシート指定
1 2 3 |
var spreadsheet = SpreadsheetApp.openById('1kGWkBTESt6GjuOF47Yp_e4RoxXBnck-xPOrTVryjlaA'); var sheet1 = spreadsheet.getSheetByName('シート1'); var sheet2 = spreadsheet.getSheetByName('シート2'); |
1行目
IDを使って、スプレッドシートを指定しています。今回動画で紹介しているスプレッドシートのIDは「1kGWkBTESt6GjuOF47Yp_e4RoxXBnck-xPOrTVryjlaA」です。
もし使用する場合は、ご自身のスプレッドシートのIDと変更する必要があります。
2行目と3行目
今回使用しているスプレッドシートは「シート1」と「シート2」としています。
もし使用しているスプレッドシートのシート名が「シート1」と「シート2」と異なる場合、変更する必要があります。
詳しくは動画で解説しています。
コード2|最終行を取得
1 2 3 |
var spreadsheet = SpreadsheetApp.openById('1kGWkBTESt6GjuOF47Yp_e4RoxXBnck-xPOrTVryjlaA'); var sheet1 = spreadsheet.getSheetByName('シート1'); var sheet2 = spreadsheet.getSheetByName('シート2'); |
コード3~コード8
コード3からコード8については後日更新します。
動画で伝えきれなかった部分を補足
動画の補足をしておきます。
ライブラリとは何か?
他の人が作成した関数を利用できる仕組みです。ピンとこない人は、先人たちの知恵を借りる手段だと思っていれば問題ありません。
その仕組みを利用する上で、ライブラリキーが必要になります。
たとえば、今回使用した「Moment.js」は「MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48」です。
そのほかにもChatworkにコメントを投稿したり、ウェブデータを取得したりする場合にライブラリキーが必要になることがあります。
なお、Google検索すると記載されているので、その都度必要なライブラリキーを調べていきます。
背景を黒に変更するアドイン
Google Apps Scriptをもっと勉強したい人へ
GASで出来ることって何を動画で解説
オススメの書籍を紹介
ぜひ興味を持った方は、Google Apps Scriptを勉強を始めてみてください