前回までのおさらい
ゴールイメージは覚えていますでしょうか?今回はゴールを目指します。
前回はUrlfetchしてから、スプレッドシートに表示するためのデータを配列に格納する部分を説明しました。
コード全体像のおさらい
コードの全容は以下でした。前回はfor(var i=….までで利用されている、③urlFetchAppの内容④配列の加工について説明しました。
function setTitleFromGithub() {
//github_apiで稟議書ファイルを取得。利用するAPIはContents APIで一旦一覧取得
var url = "https://api.github.com/repos/{User_name}/{repository_name}/contents/";
var token = PropertiesService.getScriptProperties().getProperties();
var option = {
method: 'get',
contentType: 'application/json; charset=utf-8',
muteHttpExceptions: true,
"headers": {"Authorization": "token " + token.github_token}
};
// UrlFetchでデータを取得して、JSONデータをパースする
var response = UrlFetchApp.fetch(url,option);
var datas = JSON.parse(response);
// datasをスプレッドシートに入力できるように一次配列にする
var data = [];
for(var i = 0; i < datas.length; i++){
data.push([i,datas[i].path]);
}
//対象となるシートを指定して、データを貼り付ける
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1,data.length,data[0].length).setValues(data);
}
step5: SpreadsheetAppでGASスプレッドシートクラスを始める
管理部がもっともGoogle productの中で利用する頻度が高いのは、スプレッドシートではないでしょうか。GASでも同様にSpreadsheetAppが利用する頻度が高くなってくると思います。ここでは、コンテナバインド型でスクリプトコードを記載しているので、以下のコードでアクティブなシートを取得します。
var sheet = SpreadsheetApp.getActiveSheet();
このコードは、コンテナバインド型でしか利用できません。スタンドアロン型で実施する場合は、以下のようにスプレッドシートの指定→シートの指定をする流れになります。
var sheet = SpreadsheetApp.openById("スプレッドシートid").getSheetByName("シート名");
最初よく間違えるのは、SpreadsheetAppにおいては、スプレッドシートを選択してから、シートをセレクトするという手順です。

プログラミングであるため、基本順をおって、スプレッドシート→各シート→シート内のセル、という流れに慣れていく必要があります。
sheetクラスに対して、getRange/setValuesでシートに値を貼り付ける
さて、先ほどのsheetという変数に対象のシート(スプレッドシートではなく、シート)を選択しています。続いては、シート内の対象となるセルを選択して、そこに値を張り付けていきます。
sheet.getRange(1,1,data.length,data[0].length).setValues(data);
getRange(開始行、開始列、終了行、終了列)という形になります。
変数dataにはGithubから取得して連番とファイル名を入れた配列が含まれています。忘れた方は、過去の記事を見返してください。
その配列の要素数(data.length)を取得して、最終行数にします。また、列については、data[0].lengthで、1つ目の配列の要素数を取得して列の最終としています。ここは、配列の考え方を勉強する必要がありますが、それは別途基礎編等の別記事でご説明させていただきますので、一旦はこのまま暗記してもらってもいいかと思います。これは、この先長く使い続ける方法になります。
そして最後にsetValues(data)で、getRangeで取得した範囲にデータを貼り付けるという形です。
GASの数値取得関係は、主にget…/set…でデータを取得する・貼り付けるという方法になります。
まとめ
5回の連載になりましたが、Githubで作成した稟議書データをAPIで取得して、スプレッドシートに貼り付けるところまでたどり着きました。細かい部分では、説明できていないものもありますが、この連載通りに作業していただければ、皆さんもデータを取得してシートに貼り付けるということが可能になります。ぜひ、初めの一歩として参考にして進めていただければと思います。