はてなブログで作成した記事が増えてくると、過去にどんな記事を書いたのか、内容の更新が必要か、記事毎にちょっとしたメモ、覚書を残したいなど、一覧表にまとめてみたいことがあります。
一覧表にまとめて管理するツールとして便利なのがエクセル(EXCEL)です。職場や学校でお世話になっている方も多いかと思いますが、表形式で色々と記録ができ、計算もできる便利ツールです。
今回ははてなブログの記事をエクセルで管理する方法をまとめてみたいと思います。記事一覧を見やすくするため、「マクロ」を利用した整理方法についても紹介します。
ブログ記事一覧を取得
はてなブログの記事一覧は、日頃から利用している「ダッシュボード」より簡単に取得できます。
記事の管理から公開を選び、記事一覧を表示します。下までスクロールすると「次のページ」のボタンがあるので、これを押して、全記事が表示されるまで繰り返します。
全記事が 表示されたら、一番最初の記事の「記事タイトル」あたりから、左クリックを押しながら、全記事を選択し、コピーします。これで記事一覧表の取得が完了です。
エクセルに貼り付け
次にエクセルを開き、「A1」のところで貼り付けを選択します。記事が多いと貼り付けが完了するまで時間がかかります。パソコンのスペックにもよりますが、130記事程度で約1分かかります。
貼り付け終わると、エクセルに整列したかたちで一覧表が完成します。あとは、エクセル機能を使って、メモや更新履歴情報、ToDo情報などを好きなように書いて管理することができます。アイキャッチ画像も貼り付けられているのも便利です。
テキストのみの貼り付け
「そのままの貼り付け」をした場合、画像やリンク情報が入っており、重くなったり、リンクなど不要という方もいるかと思います。その場合は、「テキストのみ貼り付け」る方法をおすすめします。
同じようにはてなブログから記事一覧を取得(コピー)し、エクセルの「A1」で右クリックを押します。場所はA1でなくてもOKです。メニューから「形式を選択して貼り付け」を選びます。この時に下記に示したオレンジの四角で囲まれた部分は通らないように注意してください。ちょっとの間、固まってしまいます。
貼り付け形式は、「Unicode テキスト」を選択します。
OKを押すと無事にテキスト形式で貼り付けされます。
あとは自由に表サイズや配置を変更して見やすくすれば完成です。1行に1記事としたいため、貼り付けた記事をいちいち並び替えるのが面倒なのが難点です。貼り付けただけの一覧表は、5行で1記事になっています。
少ない記事数や定期的に作業する上では苦になりませんが、やはり自動で整理する機能があると便利です。自動で整理する方法として、「マクロ」機能を利用した整理方法があります。この機能について説明したいと思います。
マクロ機能を利用した整理方法
マクロとは、ユーザーが操作する内容をプログラムを書くことで自動でやってくれる機能をいいます。もっと広義な意味があるかもしれませんが、とりあえず、このように理解してもらって結構です。
実際にマクロを使って、一覧表を「1行1記事」に整理するマクロを組んでいきます。
準備1
エクセルのシートを2つ準備します。一覧表を貼り付けたシートを「before」、何もないシートを新規追加し「after」とします。マクロを動かすことで、afterのシートに整理された一覧表が作成されるようにします。
準備2
マクロ機能はエクセルに組み込まれており、特別なソフトが必要ではありません。まずは、メニューから、「マクロ - マクロの記録」を選択します。マクロの作成方法はいくつもパターンがありますが、今回はこの方法で説明します。
マクロの記録の画面が開いたら、そのままOKボタンを押します。初期状態ではマクロ名は「Macro1」になっています。別の名称に自由に変えてもOKです。名称は覚えておいてください。
OKを押すと普通のエクセル画面に戻るので、何もせず、「マクロ - 記録終了」を選択します。これでマクロを作成する準備ができました。
プログラム作成
「Visual Basic Editor」を起動します。ショートカットキーで「ALt + F11」を押すと開きます。メニューから選択してもOKです。場所がエクセルのバージョンによって異なりますが、ショートカットキーは共通です。
Editorが開いたら、左端のプロジェクト「標準モジュール」内の「Module1」をダブルクリックします。「Module1」と書かれたメモ帳みたいなのが開きます。
開いたところにさっそくプログラムを書いていきます。「Sub Macro1( )」と「End Sub」のあいだが、Macro1で動くプログラム(コード)範囲になります。Macro1の関数とも呼ばれます。この中にプログラム(コード)を書いていきます。
ちなみに、さきほどMacro1を別名にした場合は、Sub ***** ( )と*印の部分を書き換えればOKです。
プログラムの説明
プログラムを載せておきます。
For i = 1 To 150
Sheets("after").Cells(i, 1) = Sheets("before").Cells(5 * i - 1, 1) 'タイトル
Sheets("after").Cells(i, 2) = Sheets("before").Cells(5 * i + 1, 1) '記事内容
Sheets("after").Cells(i, 3) = Sheets("before").Cells(5 * i + 2, 2) '作成者
Sheets("after").Cells(i, 4) = Sheets("before").Cells(5 * i + 2, 3) 'カテゴリ
Sheets("after").Cells(i, 5) = Sheets("before").Cells(5 * i + 2, 4) 'コメント数
Sheets("after").Cells(i, 6) = Sheets("before").Cells(5 * i + 2, 5) '投稿日時
Next i
for~Nextは繰り返しの構文で、iが1から始まって、nextまで処理したらiに1を足して、またforに戻り、150まで行ったら終わりという処理になります。i=1,2,3,・・・150と繰り返していきます。
「150は処理する記事数」に合わせて変更してください。例えば、127記事ある場合は、127以上の数字であればOKです。余裕をみて150でもOKです。
for~nextの間が実際に記事を並び替えるプログラムになります。最初の1文は、シート(Sheets)の「after」のセル(Cells)のi行目、1列目に、シート「before」のセル5*i-1行目、1列目の内容を入れるという意味になります。数式の*は掛ける(×)を意味します。
セルの指定は、エクセル表の(縦方向、横方向)に対応しています。beforeに貼り付けただけの一覧表は、1記事5行に渡って書かれています。これをafterに1行で書くため、下記のように位置関係を対応させています。
例として①(記事タイトル)の対応する式の説明を書きましたが、他の②~⑥も同様に位置に合わせて対応する式を出していけばOKです。学生の時に数学で習った「等差数列」の知識をフル活用です。
マクロを実行してみる
プログラムを書いたら、いつものエクセルに戻ってマクロを実行します。「マクロ - マクロの表示」を選択します。
マクロ画面が表示されたら、「Macro1」を選び、「実行」ボタンを押します。これで先ほど作成したプログラムが実行されます。ボタンを押しても何事もなかったようにみえますが、すでに実行完了です。複雑なプログラムではないため、瞬時に処理が終わります。
もしエラーが出たら、Editorに戻って、プログラムの内容を確認してください。
シート「after」を見ると、1行1記事に綺麗に整理されているかと思います。
あとは好きなように見やすいように表の幅などを修正して完成です。
まとめ
はてなブログの記事一覧をエクセルで表示、管理する方法を紹介しました。
エクセルを利用すれば記事一覧表をコピー、貼り付けするだけで簡単にエクセル上で管理することができます。そのままでも問題ありませんが、マクロ機能を使えば、もっと見やすく整理することもできます。
今回紹介したエクセルでの記事管理方法が、はてなブログを楽しむうえで、少しでもお役に立てればうれしいです。