自分方位研究所

日々の活動記録

はてなブログ。記事一覧作成(今後の予定)

ようやくの再開です。はてなブログの記事のエクスポートファイルから「記事一覧」を作成する件について。

最終的には、各記事のメンテナンスに役立つものにしたいのですが、先ずはエクスポートデータの、「メタデータ・セクション」と呼ばれる、「AUTHOR:」~「CATEGORY:」の各項目を抜き出してExcelシートに出力したいと思います。

1記事分のデータ
~~~~~~~~~~~~~~~~~~~~~

AUTHOR: k-emu
TITLE: 一年の計画は元旦に・・・
BASENAME: 2016/01/01/230654
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: 0
DATE: 01/01/2016 23:06:54
CATEGORY: 雑文
CATEGORY: 日記
-----
BODY:
<p>新年ということでキリがいいので始めることにする。</p>
<p>とにかく何でも書こうと思うのだが、カテゴリ区分とかどうするのだろう。</p>
<p>例えばこの書き出しの記事。「雑文」とか「日記」とかの分類をしたいのだが・・・ さて、どこにあるか。</p>
(中略)
<p>どうか続けられますように・・・</p>
-----
--------

~~~~~~~~~~~~~~~~~~~~~

1記事は「AUTHOR: 」から始まり「--------」(”-”が8個連続) まで。

 

抜き出し方ですが、

「TITLE: 一年の計画は元旦に・・・」であれば、先頭の「TITLE: 」を除去して

「一年の計画は元旦に・・・」のみを取り出します。

VBAの関数(Len と Right) を使います。

[1] 1行全体の文字列 = "TITLE: 一年の計画は元旦に・・・"
[2]「TITLE: 」の文字数 = Len("TITLE: ")
[3] 1行全体の文字数 = Len("TITLE: 一年の計画は元旦に・・・")

題名のみを取り出すには、全体の文字列を右側から数えて、必要な箇所までを取り出します。
Right( [1] , [3]-[2] )

これを各行に適用して、必要な部分のみ抜き出していきます。

Replace関数を使用して、不要な文字のみを置換で消し去るというのも考えましたが、同じ文字列が必要な文字列中に含まれていると、それも消してしまうので、先頭部分のみ消えるように、Right関数で必要な文字のみ取り出すようにします。

「--------」(”-”が8個連続) を見つけたら、そこで1記事が完了。次の記事に取りかかります。

というのを最後まで繰り返して、Excelシートに1記事/1行で出力していきます。