このブログを検索

2013年12月16日月曜日

QiitaのGAS Advent Calenderに投稿してみた

ひっさびさのGASブログ!
ひさびさ過ぎて、どうやって何を書いていたのか忘れてしまいました(><)

なんとか書ききって、下記のサイトに投稿しました~~~。

http://qiita.com/advent-calendar/2013/gas


↑のサイト、12月はほぼ毎日1つづつGoogle Apps Script関連の記事が掲載される、アドベントイベントになっています!相当お役立ちです~~~~~。


(以下、Qiita Google Apps Script Advent Calenderに投稿した記事)
-------------------------------------------------------------------------



連日の投稿と比較すると、あまりにレベルが違って申し訳ないような記事ですが・・・

「Java ScriptもC言語も知らないよ!」という超プログラミング初心者でも、コピペで作れるGoogle Apps Scriptで、お手軽プログラミング体験してみましょう~という話です。
(ちなみに私、GAS歴1年以上になりますが、未だにゼロからGASが書けずにコピペで何とか凌いでいます。。。)


■GOAL


コピペして、アレンジを加えるだけで、以下の方法がな~んとなく分かっちゃいます!

  (1) スプレッドシートが開いた時に、自動的にスクリプトを起動
  (2) スプレッドシートに独自メニューを追加
  (3) インプットボックスの表示
  (4) メッセージボックスの表示
  (5) シートを新しく名前を付けて作成する
  (6) セルの背景色・文字色の設定

■コピーするのはこのScript


今回コピーする元となるのは、Google Developers(公式)のGoogle Apps Scriptに関するサイト。
このサイトは、GASの概要やクラスとメソッド一覧などがまとまっていて、右も左も分からない人にも優しいサイトです。
そしてこのサイトには、いくつかのサンプルスクリプトも掲載されています。

今回は、その中の「5-Minute Quickstarts」→「Macros, Menus, and Custom Functions」をコピーしてGASを作りましょう。

  











■コピーする方法(超簡易版)


 1.「Set it up」の1行目の中の青文字部分をクリック

  







2.「はい、コピーを作成します」をクリック
3.新しく作成されたスプレッドシートの、「ツール」→「スクリプトエディタ」をクリック
4.スクリプトをコピー&ペースト
5.プロジェクトの名前を付けて保存
6.実行ボタンを押して、スクリプトの承認をする

 これで準備OK!

■こんなスクリプトです

ちなみにこのコピーしたスクリプト、こんなことしてくれるんです。

 1.スプレッドシートを開いた時に、自動的にメニューバーに「Directions」→「Generates step-by-step」という独自メニューを追加













 2.1.で追加された独自メニューを選択すると、インプットボックス表示
















3.インプットボックスに、行数番号を入力 (例:3)

4.新しいシート作成&指定した行数に記載されている「起点」→「終点」までの道順を表示

5.道順を「メートル換算」→「マイル」に変換


























■使えるスクリプトはコレ!

スクリプトの全文は、Google Developers(公式)サイトをご確認頂くとして、そのスクリプトの中から、応用しやすい便利なスクリプトを抜粋してご紹介します。

1. スプレッドシートが開いた時に、自動的にスクリプトを起動




function名を”onOpen()”と書くと、それ以降の{}間に記載したプログラムが、スプレッドシートを開いた時に自動的に実行されます。

2. スプレッドシートに独自メニューを追加





↓ こう書くと、こうなる...











 ・変数spreadsheetに、現在アクティブなスプレッドシートを格納
 ・変数menuItemsに、独自メニューをクリックした時にプルダウンで表示されるメニューの名称と、そのメニューをクリックした時に紐付けたいfunction名を指定
 ・"...addMenu()"でメニューバーに表示したい名称と、それに紐づくサブメニューを指定


  ※緑色の箇所を書き換えれば、独自メニューのできあがり

3. インプットボックスの表示


  ↓こう書くと、こうなる...

















 ・"Browser.inputBox()"でインプットボックス表示
 ・上記の()の中は、(インプットボックスのタイトル,インプットボックスの表示メッセージ,ボタンの種類)


4. メッセージボックスの表示




↓こう書くと、こうなる...




5. シートを新しく名前を付けて作成する






 ↓ こう書くと、こうなる...

・変数sheetNameに、新しく作成するシートの名称を格納
・既に同じ名前のsheetが存在しないか確認し、既存の場合はクリア
・既存のシートがない場合は、.insertSheet()で新規シート追加

6. セルの背景色・文字色の設定









   ↓ こう書くと、こうなる...









 ・getRange()で、セルを指定
 ・.set・・・・()で、背景色や文字色などを各種設定

■つまり・・・

プログラムって、動いてみて初めて喜びや楽しさを感じるもの!
喜んだから、楽しいから、感動したから、、、それが原動力になってもっと勉強してみるか、となるので、まずはコピペでGASを動かしてみましょ~~~。

と、いうことでした!


0 件のコメント:

コメントを投稿