ぷちゅ的

工業高校生ですが何か?

投稿した記事のタイトル、日付、URLを自動で一覧にしてみる

【スポンサーリンク】

f:id:ktrw3200:20171019233828j:plain

ブログの記事管理が大変

ブログを長い間続けていると、記事数も多くなり、どんな記事をいつ投稿したかだとか、ごちゃごちゃしてきて管理がつかなくなってくるのでは無いでしょうか。

今回は、記事データを「Googleスプレッドシート」を利用して簡単に管理する方法を伝授します。

ちなみにGoogleスプレッドシートは誰でも無料で使うことができます。

Googleスプレッドシート - 無料でスプレッドシートの作成と編集をしよう

 

この記事ではスプレッドシートを使ったことがない人でも簡単にできるように、書いています。ぜひやってみてくださいね。

 

 

 

完成形

f:id:ktrw3200:20171019212210p:plain

  • 投稿日
  • 記事タイトル
  • 記事URL

を自動的に一覧形式で表示させます。

 

※この記事は初心者向けに書いているので、詳しい説明(関数など)は全て省いています。詳しい解説を知りたい方は、後日Qiitaに投稿する記事を参照してください。

シートの作成

f:id:ktrw3200:20171019212800p:plain

右下の+ボタンを押して、新規シートを作成します。

 

f:id:ktrw3200:20171019213117p:plain

 

 

用語の解説

解説していくに当たって知っておいて欲しい単語があるので、1つだけ用語の解説をします。

セル

・・・データを入力できる箱のこと。A,B,C...を"行"、1,2,3,...を列といい、各セルをA1、C3のように行と列でセルの場所を表します。

 

それでは早速作業に移りましょう!

 

日付の抽出

A2に以下のように入力します。

=IMPRTFEED("[URL]","item created",false,250)

[URL]には、ブログのトップページのURLの最後に/feedと付けて入力してください。

このブログ(http://www.puchu-teki.com)ならば、http://www.puchu-teki.com/feedとなります。

 

f:id:ktrw3200:20171019215802p:plain

すると A の行に投稿した記事の投稿日がズラーっと並びます。

 

しかし、抽出されたデータは日付だけでは無いので、「スクリプト」という機能を使って、データを日付だけにします。

 

f:id:ktrw3200:20171019220100p:plain

ツールからスクリプトエディタをクリックします。

 

f:id:ktrw3200:20171019220240p:plain

このようなページが新規タブで開きます。既に「function myFunction.....」と入力されているのですが、要らないので消して、以下の文字列を貼り付けてください。

 

function DateRewrite() {

var sheet = SpreadsheetApp.getActiveSheet(); //シートを取得
var v = sheet.getRange('A2:A').getValues(); //シートから値を抽出

for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].substring(0,10); //日付部分だけを抽出
}
}

sheet.getRange('B2:B').setValues(v); //セルに書込
}
function URLRewrite() {

var sheet = SpreadsheetApp.getActiveSheet(); //シートを取得
var w = sheet.getRange('D2:D').getValues(); //シートから値を抽出

for( var i=0; i<w.length; i++ ){
for( var j=0; j< w[i].length; j++ ){
w[i][j] = w[i][j].replace("?utm_source=feed", ""); //特定の文字列を削除
}
}

sheet.getRange('E2:E').setValues(w); //セルに書込
}

 

貼り付けたら、保存します。このとき、プロジェクト名の入力を求められますが、名前はなんでもいいです。自分は「置換」と名づけました。

保存が終わったら、「関数を選択」となっているところをクリックして、「DateRewrite」を選択します。そして、三角のボタンをクリックして実行します。

f:id:ktrw3200:20171019221752p:plain

 

実行しようとすると認証を求められますが、以下の通りに進めてください。

 

スクリプト実行の認証

f:id:ktrw3200:20171019222640p:plain

「認証を許可」をクリック

 

f:id:ktrw3200:20171019222636p:plain

「安全なページに戻る」を押したくなりますが、「詳細」をクリックします。

 

f:id:ktrw3200:20171019222620p:plain

「安全ではないページに移動」をクリック

 

f:id:ktrw3200:20171019222628p:plain

入力欄に「次へ」と入力して、「次へ」をクリックします。

 

f:id:ktrw3200:20171019222632p:plain

「許可」をクリックします。

 

これで、スクリプトが実行されます。

 

確認

一旦スクリプトエディタのタブを閉じて、シートのタブに移動します。

そして、A行の横のB行に日付だけになったデータが入力されていることを確認してください。

 

出来てたらOK!!

 

記事タイトルの抽出

 C2に以下の通りに入力してください。

=IMPRTFEED("[URL]","item title",false,250)

 

これだけで、記事のタイトルが自動的に抽出されC行に入力されます。

f:id:ktrw3200:20171019223812p:plain

 

記事URLの抽出

D2に以下のように入力します。

=IMPRTFEED("[URL]","item url",false,250)

するとD行にに記事のURLが抽出されます。

f:id:ktrw3200:20171019224239p:plain

しかし、このURLはfeed用のURLなので、普通のURLに置き換えます。

 

もう一度スクリプトエディタを開いてください。

 

f:id:ktrw3200:20171019224658p:plain

「関数の選択」から「URLRewrite」を選択して、三角ボタンで実行します。

 

再びシートのタブを見ると E行に普通に戻ったURLが入力されていますよね。

 

 

スクリプトの自動実行

スクリプトが自動実行され、常に最新のデータがシートに表示されるように、自動実行の設定をします。

 

画像のとおりに進めてください。

 

f:id:ktrw3200:20171019230703p:plain

時計アイコンをクリック

 

f:id:ktrw3200:20171019230655p:plain

トリガーの追加をクリック

 

f:id:ktrw3200:20171019230658p:plain

写真のように項目を設定して、保存をクリック。

 

これで自動実行の設定は完了です。

 最後に、見やすくするよ!

作業セルの非表示

作業に使用したセル(A,D行)を非表示します。

f:id:ktrw3200:20171019225506p:plain

「A」「D」を右クリックして「列を非表示」をクリックすると、行が非表示になり、見たいデータのみを表示させることが出来ます。

 

データの種類を入力

なにが何のデータかわかりやすくするためにデータの名前を入れておきます。

入力するのは、開けておいた1の列です。

f:id:ktrw3200:20171019230046p:plain

 

簡単に装飾

セルに色をつけたりして、見やすくします!

自分はこんな感じにしました。

f:id:ktrw3200:20171019230302p:plain

 

まとめ

ほら、簡単でしょ!!

え?そうでもない...

ごめんなさい。

 

とはいえ、この機能はスプレッドシートにだけある機能なので、この点ではエクセルに勝っているようですね。

スプレッドシートをもっと活用していきたいと思いました。

 

編集後記

小難しい操作を誰にでも理解できるように書くのって難しいですよねぇ。この記事はどうだったでしょうか??