Edited at

Google App Script(GAS)でスプレッドシートに行を追加して永続化したい!


やりたいこと

ログを保存していくように、単純にテーブルに行を追加していくだけのGoogle App Script(GAS)がほしいです。

よくやりそうなのに、ぱっと記事が見つからなかったので書きたいと思います。


手順

保存先になるスプレッドシートを作ります。

以下のようなURLになると思うので、URLの"1mP...7I9Y"の部分がIDになっていてあとでGASで使うので、メモっておきます。

(スプレッドシートごとに異なるIDになります)

Screen Shot 2019-02-20 at 10.32.07.png

以下のような.gsを作成して保存します。(スクリプト内のidの部分は自分のものに書き換えましょう)

// mainを実行するたびに行がどんどん増えていく

function main() {
// ↓↓↓ ☆☆☆ ここは自分のIDに書き換えましょう
var id = "1mP...7I9Y";
// IDからスプレッドシートを取得
var spreadsheet = SpreadsheetApp.openById(id);
// 最初のシートを取得
var sheet = spreadsheet.getSheets()[0];
// 1行を追加
sheet.appendRow([new Date(), "りんご", "オレンジ", "バナナ"]);
}

保存後、▶ボタンで、mainを実行します。

最初の実行だと権限周りでGASが尋ねてくると思いますが、許可する感じのボタンを何回か押します。

許可の途中で、赤い⚠のマークが出る思いますが、[詳細]>[安全ではないページに移動]を押して突き進みます。

参考: GAS→スプレッドシート 読み書きしてみた! - lisz-works

#appendRow: Class Sheet  |  Apps Script  |  Google Developers


実行結果

行の追記をしていく上記のGASを2回実行すると、以下のようになります。

Screen Shot 2019-02-20 at 10.43.25.png

恐らくこの方法だと、行が上書きされる心配もなく、行見出しなどを上に付けてても追加されていくはずです。

追記:見出しの行があっても無事に追記されました。