妊活ブロガー支援ツール(エクセルVBA)
妊活ブロガー支援ツール(エクセルVBA)
妊活中のブロガーが、少しでも負担を軽減し、快適にブログ生活も送れるように、次のようなエクセルマクロを考えてみました。すぐ手首が痛くなる老人ブロガー(私)が必死で作って使っているものです。
「FC2の自分のブログの訪問者のブログURLを取得し、シート上に記録し、25秒おきに自動巡回する」
FC2の場合は自分のブログの訪問者(FC2会員で訪問記録を残す設定をしたもの)をブログ会員だけが知ることができるので、それを自動取得することに関しては問題はないと思います。
ゆっくり巡回しながら、気に入ったブログがあればエクセルシートに記録された行ナンバーを控えておいてあとでさらにゆっくり訪問し、コメントなどを残す作業ができます。
コードには訪問者履歴10ページ分を取得し、その後。25秒おきに巡回するように設定してありますので、必要に合わせて数値を書き換えて使ってください。
必ず一度自分のブログ管理画面に入ってから(ログイン状態で)実行してください。
このスクリプトの進行を途中で止めるには「ESC]ボタンを押してください。
なお、"Option Explicit"は動作確認をしたあと、外してあります。
おっと、エクセルは何も表示されていないシートを表示させた画面で開始してくださいね。
---
Sub 訪問者一覧取得巡回()
Dim a7b7 As Object
Dim fc2row As Integer
Dim n As Integer
Dim u As String
Dim j As Integer
Dim i As Integer
Set a7b7 = CreateObject("InternetExplorer.application")
a7b7.navigate "http://control.blog.fc2.com/control.php?ref=blog"
a7b7.Visible = False
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
fc2row = 1
For n = 1 To 10 '10ページ分(100個)取得。ここを修正するときには巡回ブログ数も変更してください
u = "http://admin.blog.fc2.com/control.php?page=" & n & "&mode=history&noimg=true"
a7b7.navigate u
a7b7.Visible = False
Cells(1, 1).Value = n
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
For i = 0 To a7b7.document.Links.Length - 1
Cells(fc2row, 1) = "'" & a7b7.document.Links(i).Href
fc2row = fc2row + 1
Next
Next
'-------URLデータは100000行分取得されます適当に修正してお使いください
Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$A$100000").AutoFilter Field:=1, Criteria1:= _
"<>*http://blog.fc2.com/?jump=*", Operator:=xlAnd
Rows("2:100000").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Range("$A$1:$A$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Selection.AutoFilter
Selection.Replace What:="http://blog.fc2.com/?jump=", Replacement:="", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Range("C1").Select
'----
For j = 1 To 100 '100個(巡回ブログ数)
If Cells(j, 1).Value = "" Then Exit For
u = Cells(j, 1).Value
a7b7.navigate (u)
a7b7.Visible = True
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
Application.Wait Now + TimeValue("00:00:25") '25秒おきに巡回
Next
Cells(j, 2).Value = Now
a7b7.Quit
Set a7b7 = Nothing
End Sub
妊活中のブロガーが、少しでも負担を軽減し、快適にブログ生活も送れるように、次のようなエクセルマクロを考えてみました。すぐ手首が痛くなる老人ブロガー(私)が必死で作って使っているものです。
「FC2の自分のブログの訪問者のブログURLを取得し、シート上に記録し、25秒おきに自動巡回する」
FC2の場合は自分のブログの訪問者(FC2会員で訪問記録を残す設定をしたもの)をブログ会員だけが知ることができるので、それを自動取得することに関しては問題はないと思います。
ゆっくり巡回しながら、気に入ったブログがあればエクセルシートに記録された行ナンバーを控えておいてあとでさらにゆっくり訪問し、コメントなどを残す作業ができます。
コードには訪問者履歴10ページ分を取得し、その後。25秒おきに巡回するように設定してありますので、必要に合わせて数値を書き換えて使ってください。
必ず一度自分のブログ管理画面に入ってから(ログイン状態で)実行してください。
このスクリプトの進行を途中で止めるには「ESC]ボタンを押してください。
なお、"Option Explicit"は動作確認をしたあと、外してあります。
おっと、エクセルは何も表示されていないシートを表示させた画面で開始してくださいね。
---
Sub 訪問者一覧取得巡回()
Dim a7b7 As Object
Dim fc2row As Integer
Dim n As Integer
Dim u As String
Dim j As Integer
Dim i As Integer
Set a7b7 = CreateObject("InternetExplorer.application")
a7b7.navigate "http://control.blog.fc2.com/control.php?ref=blog"
a7b7.Visible = False
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
fc2row = 1
For n = 1 To 10 '10ページ分(100個)取得。ここを修正するときには巡回ブログ数も変更してください
u = "http://admin.blog.fc2.com/control.php?page=" & n & "&mode=history&noimg=true"
a7b7.navigate u
a7b7.Visible = False
Cells(1, 1).Value = n
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
For i = 0 To a7b7.document.Links.Length - 1
Cells(fc2row, 1) = "'" & a7b7.document.Links(i).Href
fc2row = fc2row + 1
Next
Next
'-------URLデータは100000行分取得されます適当に修正してお使いください
Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$A$100000").AutoFilter Field:=1, Criteria1:= _
"<>*http://blog.fc2.com/?jump=*", Operator:=xlAnd
Rows("2:100000").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Range("$A$1:$A$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Selection.AutoFilter
Selection.Replace What:="http://blog.fc2.com/?jump=", Replacement:="", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Range("C1").Select
'----
For j = 1 To 100 '100個(巡回ブログ数)
If Cells(j, 1).Value = "" Then Exit For
u = Cells(j, 1).Value
a7b7.navigate (u)
a7b7.Visible = True
Do While a7b7.Busy = True
DoEvents
Loop
Do While a7b7.ReadyState <> 4
DoEvents
Loop
Application.Wait Now + TimeValue("00:00:25") '25秒おきに巡回
Next
Cells(j, 2).Value = Now
a7b7.Quit
Set a7b7 = Nothing
End Sub