1
1

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.

【GASの0歩目】脱コピペ!!クラスとメソッドをやんわりと

Last updated at Posted at 2019-07-24

対象

  • プログラミングの勉強としてGoogle Apps Scriprt を最初に選んだ人
  • PHP,Python,C などの言語でつまずいてGASに流れてきた人
  • 公式のドキュメントを使ったことのないひと

基本的には超初心者向けですのでGASが触れる人は参考にならないと思います。

イメージ

スクリーンショット 2019-07-24 16.52.15.png *上の図は私が頭の中で持っているイメージです。 (もしかしたら、内容の間違いであったり勘違いさせる表現があるかもしれません。あればぜひコメント欄にお願いします。)*

ググっただけだと初心者にとってどのクラスをいじっているのかわからなくなります。

コードを読む時に左からの流れをイメージすることで、「今、どこにいるか?」と迷子にならないようにできます。




例:スプレッドシートのシートを引っ張ってくる

var sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
_________|--------------| ・・・(1
SpreadsheetAppクラス
_________|------------------------------------| ・・・(2
Spreadsheetクラス
_________|-------------------------------------------------------------|・・・(3
Sheetクラス

(1)アプリケーションを選択する

まず、最初にGASで操作したいアプリを選択します。
ここではスプレッドシートを指定していますが、同じスクリプトの中でカレンダーやフォームも使えます。

(2)SpreadsheetAppクラスにgetActiveSpreadsheetメソッドを使う

公式ドキュメントより スクリーンショット 2019-07-24 23.31.37.png

SpreadshetApp に対してメソッドである getActiveSpreadsheet()を使います。
そうすることで戻り値(return)としてSpreadsheetクラスが返ってくる。
(2)でSpreadsheetクラスが指定され、ここで初めてスプレッドシートの操作ができる。

戻り値によって色々なクラスに変わるので公式ドキュメントから確認してみてください。

(3)SpreadsheetクラスにgetSheetByName()メソッドを使う

公式ドキュメントより スクリーンショット 2019-07-25 0.09.03.png
どのスプレッドシートを使うかまでわかれば、次はどのシートを使うのか? `Spreadsheet`クラスに対して`getSheetByName()`クラスを使うと名前からシートの指定をできる。 今回の例では『sheet1』という名前のシートを持ってきています。 (3)まで行くとクラスは`Sheet`クラスです。

これ以降の操作について

公式ドキュメントには戻り値のクラスにリンクが貼ってあるのでそれをポチポチしながら色々試してみてください。

終わりに

今回の内容は公式のドキュメントを使う上で大切にしているイメージでしたので、記事自体はわかりやすくないかもしれません。
この記事で解決する人が1人でもいれば幸いです。

Apps Script  |  Google Developers
これに全てが載っているのでぜひ使ってみてください

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?