こんにちは、トミセン(@tomisenblog)です。
トミセン
迫さんのTwitter講座で学習して、「10のTwitter運用テンプレートシート」にTweetを作ったけど、どの順番に投稿していこうかなぁ…。縦に順番に並べられて、順番もランダムに入れ替えてくれるツールないなかなぁ…。
そんなスクリプトを作りました!
迫さん(@yuki_99_s)の『Twitterマーケティングマスター講座』を受講している方の応援のために、テンプレート作成時に使えるスクリプトを作りました。
無料で提供いたしますので、ご自由にお使いください。
こちらの講座用です。
それでは、早速ご説明していきます。
スクリプト使用上の注意
このスクリプトを使用することによって生じた損害については、責任を負いかねますのでご了承ください。
目次
スクリプトの内容
このスクリプトで、こんなことができます。
- テンプレートシートのツイートを縦に並べる
- 順番をランダムに並べ替え
実行前
実行前のテンプレートシートは、こんな感じです。
実行後
実行後は「並べ替え後」シートができて、ツイートが縦に並びます。順番もランダムになります。
スクリプトの設定
手順は以下の通りです。順番に説明します。
- 設定①:スクリプトエディタを開く
- 設定②:スクリプトをコピーする
設定①:スクリプトエディタを開く
テンプレートシートを表示して、メニュー「ツール」→「スクリプト エディタ…」を選択します。
「スクリプト エディタ」が表示されます。見た目はこんな感じです。
設定②:スクリプトをコピーする
スクリプトをコピペして、保存ボタンを押します。コピーするスクリプトは次にあります。
スクリプトのコード
すぐ下の「コピー」を押すと、コピーされます。
function myFunction() {
// アクティブなスプレッドシート、シート、データを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getActiveSheet();
var data = dataSheet.getDataRange();
// 並べ替えシートを作成
var sortSheetName = "並べ替え後";
ss.insertSheet(sortSheetName);
var sortSheet = ss.getSheetByName(sortSheetName);
// 並べ替えシートの列幅を設定
sortSheet.setColumnWidth(1, 150);
sortSheet.setColumnWidth(2, 300);
sortSheet.setColumnWidth(3, 600);
// データシートから並べ替えシートにコピー
copyData(data, dataSheet, sortSheet);
// 並べ替えシートをソート
sortSheet.getDataRange().sort({column: 4, ascending: true})
// 並べ替えシートのソート列を削除
sortSheet.deleteColumn(4);
}
// データシートから並べ替えシートにコピー
function copyData(range, dataSheet, sortSheet) {
var sortSheetRow = 1;
var head1Row = 1;
// Rangeオブジェクトを左上から右下にチェックする
for(var row = 1; row <= range.getNumRows(); row++) {
for (var column = 1; column <= range.getNumColumns(); column++) {
// 処理対象のセルを取得
var cell = range.getCell(row, column);
// セルの値が空白の場合は、処理をスキップ
if(cell.isBlank()){
continue;
}
// ヘッダー行(1行目)は、処理をスキップ
if(row == 1){
continue;
}
// A列は、処理をスキップ(項目名の入っている行を保持)
if(column == 1){
head1Row = row;
continue;
}
// B列は、処理をスキップ
if(column == 2){
continue;
}
// データシートA列のコピー、並べ替えシートA列にペースト
dataSheet.getRange(head1Row, 1).copyTo(sortSheet.getRange(sortSheetRow, 1));
// データシートB列のコピー、並べ替えシートB列にペースト
dataSheet.getRange(row, 2).copyTo(sortSheet.getRange(sortSheetRow, 2));
// データ列のコピー、並べ替えシートC列にペースト
dataSheet.getRange(row, column).copyTo(sortSheet.getRange(sortSheetRow, 3));
// 並べ替えシートD列に並べ替え用の値をセット
var random = Math.floor(Math.random()*300000 + 1);
sortSheet.getRange(sortSheetRow, 4).setValue(random);
sortSheetRow++;
}
}
}
スクリプトの使い方
ここからは実際にスクリプトを使っていきます。手順は以下の通りです。
- 使い方①:スクリプトを実行する
- 使い方②:権限設定をする
使い方①:スクリプトを実行する
スクリプトを実行していきます。「実行」ボタンを押してください。
使い方②:権限設定をする
権限設定①:権限を確認
ここからは、ちょっと面倒なんですが手順通りやれば大丈夫です。「権限を確認」を押してください。
権限設定②:アカウントの選択
ご自分のGoogleアカウントを選択してください。
権限設定③:詳細画面に移動
「詳細」を押します。
権限設定④:許可画面に移動
「無題のプロジェクト(安全ではないページ)に移動」を押します。
権限設定⑤:実行の許可
「許可」を押します。
権限設定⑥:スクリプトの実行
スクリプトが実行され「実行ログ」が表示されます。
スプレッドシートに戻って、「並べ替え後」シートができていれば、OKです。
おしまい
迫さん(@yuki_99_s)の『Twitterマーケティングマスター講座』を受講している方の応援のために、テンプレート作成時に使えるスクリプトを作りました。
無料で提供いたしますので、ご自由にお使いください。
こちらの講座用のものになります。
最後まで読んでくれてありがとうございます。
お役に立てれば嬉しいです。
それでは、また。
お役に立てれば嬉しいです。
それでは、また。