公式のドキュメントは Spreadsheet Service にあったので、そこを読み解いていこう。
パッと見たところExcelのCOMのような感じではあるけど、Sheetの中身はRangeで指定してアクセスする、って感じに見受けられる。どうなんだろ。やっていくうちにわかるか。
1. 最初のクラス
とりあえず重要そうな、というか最初に必要になりそうなのはSpreadsheetAppとSpreadsheetあたりかな。
英文の説明からざっくりとした把握だと以下みたいな感じかな。
- SpreadsheetApp
- スプレッドシートを作ったり、開いたりするのに使う
- Spreadsheet
- スプレッドシートへアクセスして編集するのに使う
まずは対象を開けなきゃ始まらない、ということでSpreadsheetAppから見てみる。
中にはcreateとかopenとか、いかにもなMethodが準備されてて安心。
とりあえずcreateは後回しにして、まずはopenから掘り下げようかな。
2. ファイルを開きたいのです。オープン!
openと名前がついているMethodには3種類あるみたい。
名前のままだけど以下意味の様子。
- open(file)
- fileオブジェクトを渡して開く
- openById(id)
- Idを指定して開く
- openByUrl(url)
- Urlを指定して開く
GASはじめたばかりなので、fileオブジェクトもIdも現時点では意味不明。
まぁどこからか取得したりするんだろうけど、いったん放置で、わかりやすそうなUrlから手を出してみるかね。
// The code below opens a spreadsheet using its id and logs the name for it.
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
var ss = SpreadsheetApp.openByUrl(
'https://docs.google.com/spreadsheets/d/abc1234567/edit');
Logger.log(ss.getName());
3. openByUrl - URLからスプレッドシートを開く公式ドキュメント(openByUrlのAPI説明)が超丁寧。
サンプルまでついてて、しかもコピー機能までついてるとか。神か。
とりあえず作成していたスクリプトのmyFunction内にサンプルをペタリ。
URL部分だけ、自分のドライブ内のスプレッドシートのURLに置き換える。
再生ボタンっぽいのを押して実行してみる。
ログが出てるらしいがどこだ...と思ったら[表示]-[ログ]で確認できました。
ちょっとログの操作性は微妙だな...
特に苦労することもなく、まぁ普通の感じ。
普通のファイル処理プログラムと同じ流れで、開いて更新して保存する、って流れになるのかと勝手に予想してみる。
次回はこれに値突っ込んでいってみるかな。
// The code below opens a spreadsheet using its id and logs the name for it.
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
var ss = SpreadsheetApp.openByUrl(
'https://docs.google.com/spreadsheets/d/abc1234567/edit');
Logger.log(ss.getName());
0 件のコメント:
コメントを投稿