自分方位研究所

日々の活動記録

はてなブログ 「記事の管理」。Excelシートに貼りつけた1記事分の情報から必要事項を抜き出す。

はてなブログ 「記事の管理」からExcelシートに昨日出力した1記事分の内容から、必要なものを抜き出します。

========================================

'検索するもの

●編集用ページURLと記事題名 → 同一セル内から抜きだす
<a class="entry-title js-search-entry-title"
href="https://blog.hatena.ne.jp/hatenaID.hateblo.jp/edit?entry=12345678901234567">
記事題名 </a>


●記事本文先頭 (サマリ) →このセルの次の行全部丸ごとサマリ
<div class="entry-body-summary js-search-entry-body">


●作成者 → 同一セル内から抜きだす
<td class="td-blog-author">はてなID</td>


●カテゴリ
<td class="td-blog-category">
<span class="blog-category-name">Excel VBA</span>
<span class="blog-category-name">ブログ運営</span>
</td>


●コメント数 → 同一セル内から抜きだす
<td class="td-blog-comment">0</td>


●投稿日時(Excelシート上では日本時間に「?」 は入っていないが・・・)
<time class="time" datetime="2020-06-12T14:15:47.000Z"
data-epoch="1591971347000" data-local="">?2020?年?6?月?12?日? ?23?:?15?:?47</time>


●公開用記事URL
<a href="https://www.mypath-as-variant.com/entry/2020/06/12/231547" target="_blank">
<i title="記事を見る" class="blogicon-external tipsy-southeast"></i></a>

========================================

検索部分のVBAのコードを以下に示します。
Find関数を用いて、タグ中の文字をキーワードとして検索します。
例として、「編集用ページURLと記事題名」を抜き出すための検索文字をセットしています。「outputSheet」は1記事分が出力されたExcelシートです。(昨日紹介したもの)

検索文字を見つけたら、そこから必要な文字列を抜き出すわけですが、以下ではdebug.print で、 ヒットしたセルの行番号をイミディエイトウィンドゥに出力しています。

Dim hitRng As Range     '検索で見つけたセル
Dim tagStr As String    '検索対象文字列
Dim outputSheet As Worksheet    '1記事出力

tagStr = "<a class=""entry-title js-search-entry-title"

Set hitRng = outputSheet.Cells.Find(What:=tagStr, LookIn:=xlValues, LookAt:=xlPart)
If Not hitRng Is Nothing Then
    Debug.Print hitRng.Row
End If

次回は、1記事分の情報を1行にまとめて、Excelシートに出力していきます。