Googleスプレッドシートを使っている人なら、より賢く便利に使うようにするためにスクリプトを書いて自動化する機能をタダで利用できます。
この機能を試してみたことはありますか!?
スクリプトを書く、つまりプログラミングとなると何か小難しいのではと遠慮がちになるかもしれません。
そんなときは、チュートリアルを参考にするのがオススメです。
Contents
チュートリアルは実際に問題を解いて実践でドンドンならしていく算数のドリルのようなものです。
これからイキナリ始めて色々なケースをジャンジャンと実践で学び早く使えるようにしちゃいましょう!
今回は、グーグルが提供しているデベロッパーサイトのチュートリアルを使ってスクリプトがよく分からない超ビギナーでも早く使えるようになる学び方を少し紹介したいと思います。
プログラミングは道具であり目的地に到達するための手段であり、自転車を乗りこなすのとおなじ様なものです。
自転車の乗り方の本を一生懸命に読んでも、一向に自転車に乗りこなせるようにはならないのと同じなんですよ。
さぁ、さっそく自転車にのってみましょう。
https://developers.google.com/apps-script/articles/tutorials [Google Developers 出典]
このリンクを開くとTutorialsというページが現れますね。
或いは Google Apps Scriptのホームページ https://developers.google.com/apps-script
から下の様に①、②と辿っていきます。
すぐ下にある
Basics and working with Google Sheets
を開くと3番目下にスクリプトがあります。
メニューに日本語のクリックボタンはあるものの、和訳機能が正しく機能しなかったりで英語がイマイチよくわからん!
とか翻訳するのが面倒くさい!とかいう人の為にも私が日本語で青文字のサポート文を追加してあるのが下にある囲いのスクリプトになります。
さぁ、はじめのスクリプトを試してみましょう。
最初はコピペからやっていきます。
次の文をスクリプトエディタのページに貼り付けます。
スクリプトエディタの開き方はスプレッドシートのメニューバーにあるツールから辿り、スクリプトエディタから選択します。
下の枠内の全スクリプトをコピーしてスクリプトエディタに貼り付けて下さい。
/**
* Creates a Google Doc and sends an email to the current user with a link to the doc.
*/
function createAndSendDocument() {
// Create a new Google Doc named 'Hello, world!'
//'Hello, world!'という名前の新しいグーグルドキュメントを作成します。①
var doc = DocumentApp.create('Hello, world!');
// Access the body of the document, then add a paragraph.
//そのドキュメントの本体にアクセスしてパラグラフを追加します。(パラグラフは'This document was created by Google Apps Script.')②
doc.getBody().appendParagraph('This document was created by Google Apps Script.');
// Get the URL of the document.
//そのドキュメントのURLを取得します。③
var url = doc.getUrl();
// Get the email address of the active user - that's you.
//あなたのEメールのアドレスを取得します。④
var email = Session.getActiveUser().getEmail();
// Get the name of the document to use as an email subject line.
//Eメールのタイトルとして使うそのドキュメントの名前を取得します。⑤
var subject = doc.getName();
// Append a new string to the "url" variable to use as an email body.
//Eメールの本体に使う変数(として登録した)URLへ新しい文字列を追加します。⑥
var body = 'Link to your doc: ' + url;
// Send yourself an email with a link to the document.
//そのドキュメントへのリンク付きEメールを自身に送ります。⑦
GmailApp.sendEmail(email, subject, body);
}
スクリプトが走る部分は "function createAndSendDocument() {" から最後の " }" までになります。
但しスキップする箇所もあります。
このプログラムを保存し正しく実行されるとGoogleドライブに自動作成されたドキュメントが保存され、且あなたのGメールに指定したメールタイトルでグーグルドライブへのリンク付きドキュメントが自動的に送付されるのです。
ここで一つ注意点があり、作成したスプレッドシートでスクリプトエディタを初回に動作させるときにGoogleからの認証作業を行うので次のように5つのステップをクリックして進めていきます。
1. Authorization required の表示がでたら "許可を確認" をクリックする。
2.アカウントの選択で、使ったスプレッドシートと同じアカウントを選択しクリックする。
3. "このアプリは確認されていません" と現れたら、"右側の安全なページに戻る"ではなく左側の小さく書いてある "詳細" をクリックする。
4. 一番下に表示されている " ******(←スクリプトエディタで付けた名前)(安全ではないページ)に移動 "をクリックする。
5. ******(←スクリプトエディタで付けた名前)がGoogleアカウントへのアクセスをリクエストしていますの表示ページにおいて"許可"をクリックします。
これらの認証を経てスクリプトが実行されます。但し新しいファイルで初回にスクリプトエディタを保存するときのみです。
次にコピペしたスクリプトについて、順番に説明していきます。
まずは全体を把握するために要所を説明します。
//の意味はコメントアウトと呼ばれ、書いてあることは実行されず通常スクリプトの説明などに使われます。
追加して書いた青文字の日本語部分もコメントアウトしてあります。
要は何を書いても//を入れておけばスクリプトを走らせるのに影響はないんですよ。
var とは後に続く文字列を変数として定義するコマンド。対比としては定数として定義するconstのコマンドがあります。
function createAndSendDocument() { } はプログラム挿入前に表示されるデフォルトのテンプレートになっていて{}の中に走らせるプログラムを順番に書いていきます。
実行スクリプトは createAndSendDocument というプロシージャで走らせます。
プロシージャとはスクリプトを走らせる為に定義してある名前の事で、スプレッドシートにつける名前とは異なります。
又、プロシージャは英語のProcedure(プロシデュア、手続き)からきているかとは思いますが、意味は若干異なります。
まぁどうでもいいでしょうか。
下の図を参考にしてくださいね。
各スクリプトをもう少し理解する為に順番に説明します。
スクリプトにある青文字の日本語訳後に①、②...と番号が振ってありますが、それぞれの番号直後にある黒太文字スクリプトの説明になっています。
ここでもう一度別の視点も入れて説明します。
①でHello, world! というなまえのドキュメントを作成します。
②で①で作ったドキュメントに指定した内容を書き込みます。
例えば、①以外のスクリプト②~⑦を//を頭につけて、①単独でスクリプトを走らせても問題ありません。
①と②だけでも成功します。
しかし②だけで実行するとエラーになります。
なぜなら、書き込もうとしたドキュメントが存在しないからです!
次に、③~⑦の説明です。
③~⑥でそれぞれの変数の定義を行いそれらの変数全てを⑦で使っています。
更に⑥では③の変数を使っています。
どの変数が欠けても⑦が実行されないのでエラーが出ます。
但し、①~②は実行されているのはGoogleドライブにドキュメントが作成されている事で確認ができます。
実行させるのに、黒い右向き三角をクリックしてもいいですが今回はトリガーボタンを作成して実行させます。
シートに移動してから、挿入>図形描画>図形>角丸四角形 を選び適当に配置します。
配置したら、そのままテキスト入力で適当に名前を付けます。
図の例では”実行ボタン”としました。
次に、保存して終了しスプレッドシートに配置できました。
今度は、図形上で右クリックし右上にある縦配置の3つのドットを左クリックし、スクリプト割り当てを選択クリックします。
入力ボックスが出てきたら、そこに実行プログラム名(プロシージャ名)の createAndSendDocument と入力し、OKをクリックします。
ボタンを押して実行します。
トリガーボタンをクリックしたら、プログラムが実行されるか確認してみましょう!
実行されたかどうかは、Googleドライブに新しいドキュメントが作成されGメール受信できていれば完成となります。
なおトリガーの掛かるタイミングはクリックした瞬間ではなくクリック直後、要はクリックボタン押した後のボタンが離れたときになる事を実感してみてくださいね。
スクリプトを走らせると各コマンドは上から順番に実行されていきます。
少しずつ色々と変化させて、結果がどのように変わってくるのか試してみましょう。
①ではHello Worldをこんばんはとか②では、文書内に書き込む内容を変えてみたり、//でコメントアウトし実行されるスクリプト文を限定したりしてみます。
上手くいってもいかなくても、結果をみてからなぜそうなるのかと考える事が大切です。
自転車から転んでしまってもなぜ転んでしまったのか振り返り、また起き上がってこぐ練習を続けることができますね。
いかがだったでしょうか?
今回、スプレッドシートで使えるGoogle Apps ScriptをGoogleのチュートリアルを利用し、スクリプトの理解のしかたや実践的方法をまじえ具体的にやさしく試みてみました。
うまく自転車?に乗れるようになったでしょうか。
はい、そうですね。もちろんなんどか転ぶこともありますよね。
でも大丈夫です。
チュートリアルなどを利用して、しばしば分かりづらいと感じる事のあるプログラミングを同じふうに理解をしていってもらえたら理解がすすむ事間違いナシですよ。
コメントフォーム