16
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Apps ScriptAdvent Calendar 2013

Day 16

超初心者向け!コピペdeGASのススメ

Posted at

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

「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を動かしてみましょ~~~。

と、いうことでした!


16
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?