にしやまさんと申します。
ココナラスクレイピング
第2弾です。
ココナラ内の仕事相談新着一覧を取得するマクロです。
ユーザーアイコンを含めてExcel表示した方が
何となく絵面が良くなるかと思いましたが、
やはり取得時間が伸びてしまいました。
工夫した点は2つ。
1つ目は、複数カテゴリから取得できるようにしたこと。
VBAはIT・プログラミングジャンルではありますが、
仕事効率化でもあるので、
新着ワークは、IT・プログラミングとビジネスジャンルから取得するようにしています。
2つ目は、投稿日時の加工です。
投稿日時は、問題なく取得できるんですが、
生データでは、〇時間前、〇日前の形式で取得してしまうんですね。
なのでこの状態でソートすると、数値を基準とするために
例えば1時間前の案件→1日前の案件→2時間前の案件のような
奇妙な並びになります。
ですので、yyyy/m/d h:mm形式
に変換しています。
変換処理のコードは以下の通りです。
Select Case True
Case InStr(.Cells(i, "A"), "分前") > 0
.Cells(i, "A") = Replace(.Cells(i, "A"), "分前", "")
.Cells(i, "A") = DateAdd("n", -.Cells(i, "A"), Atime)
Case InStr(.Cells(i, "A"), "時間前") > 0
.Cells(i, "A") = Replace(.Cells(i, "A"), "時間前", "")
.Cells(i, "A") = DateAdd("h", -.Cells(i, "A"), Atime)
Case InStr(.Cells(i, "A"), "日前") > 0
.Cells(i, "A") = Replace(.Cells(i, "A"), "日前", "")
.Cells(i, "A") = DateAdd("d", -.Cells(i, "A"), Atime)
End Select