Skip to content

Instantly share code, notes, and snippets.

@tajuszk
Last active May 23, 2020 12:31
Show Gist options
  • Save tajuszk/d488587a02193513b389a9cf482dd52b to your computer and use it in GitHub Desktop.
Save tajuszk/d488587a02193513b389a9cf482dd52b to your computer and use it in GitHub Desktop.
/**
* ツイートを順番に選択する処理
* 処理の中で前回の番号を保持していくことは出来ないので
* 投稿された回数をシートに保存しておき、一番投稿された回数が少ない記事を次の記事にする
**/
function pickUpTweet() {
var titleRow = 1; // 『投稿内容』とか書いている部分の行数
var startRow = 1 + titleRow; // 1行目は『投稿内容』とか書いているので2行目から
var startCol = 1;
var endRow = sheetData.getLastRow() - titleRow; // 最後の行まで(2行目から始まっているので-1している)
var endCol = 2; // 『投稿回数』の列までなので2列目まで
// 投稿を一括で取得する
var cells = sheetData.getRange(startRow, startCol, endRow, endCol).getValues();
// ちなみにcellsの中身は
// [ [ '投稿内容', '投稿回数'] , [ '投稿内容', '投稿回数'] , [ '投稿内容', '投稿回数'] ,....,]
// という形式になっている
var postData = cells[0]; // postData = [ '投稿内容', '投稿回数'] なので postData[0] => 投稿内容, postData[1] => 投稿回数
var row = 1 // 行番号(選ばれたらその行の投稿された回数を+1するために持っておく)
for (var i = 0, il = cells.length; i < il; i++ ) {
// 投稿回数が少なかったら更新(回数が同じであればそのまま)
if (cells[i][1] < postData[1]) {
postData = cells[i]
row = 1 + i // 行は1から始まるので+1して保存しておく
}
}
var postMessage = postData[0];
// 投稿する内容の投稿回数の部分のセルだけ取得して、+1して更新する
var updateCell = sheetData.getRange(row + titleRow, 2, 1, 1);
updateCell.setValue(postData[1]+1);
return postMessage;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment