Sub MyXlMougBbs()
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  Rem MOUGサイト掲示板ページ取り込み処理(HttpRequest使用)
  Rem 作譜:Hitrock Camellia Shinopy
  Rem 言語:Excel VBA
  Rem 機能...
  Rem   MOUGサイトの掲示板ページを取り込みし、
  Rem   Excelシートに書き込みする。
  Rem 注記...
  Rem   1. MyXlMougBbsを起動して使用。
  Rem   2. 初回実行前に「myFile」に取り込むRSSデータの保存先を指定すること。
  Rem 履歴...
  Rem   第1版:2007/06/21:作成。
  Rem   第2版:2008/04/11:保存先に「Zzz」フォルダを既定値として指定。
  Rem   第3版:2008/05/01:取り込み先のリニューアルに対処。
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  Dim myTitle As String
  Dim myFile As String
  Dim mySite As String
  Dim myArray As Variant
  Dim myLink As Variant
  '
  Dim i As Long
  Dim c As Long
  Dim myMax As Long
  '
  Dim myHTTP As Variant ' IXMLHTTPRequest
  Dim myStream As Variant ' Stream
  Dim mySource As String
  Dim myURL As String
  '
  Dim mySheetFirst As Long
  Dim myStatus As String
  Dim myStatusBar As String
  '
  Const AdBinary = 1
  Const AdTypeText = 2
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  myTitle = "MyXlMougBbs"
  myFile = "C:\Documents and Settings\User\My Documents"
  myFile = myFile & "\" & "Zzz" & "\" & myTitle & ".html"
  '
  myStatusBar = "MOUGサイト掲示板ページ取り込み処理 開始!"
  Application.StatusBar = myTitle & ": " & myStatusBar
  '
  mySite = "Moug"
  Call MyXlMougBbsSite(mySite)
  '
  myArray = Split(mySite, ",")
  myMax = UBound(myArray)
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Application.CommandBars("Task Pane").Visible = False
  Application.ScreenUpdating = False
  Range("A1").Select
  mySheetFirst = ActiveSheet.Index
  '
  c = Worksheets.Count - ActiveSheet.Index + 1
  If c < myMax Then
    c = myMax - c
    For i = 1 To c
      Worksheets.Add After:=Sheets(Worksheets.Count), Count:=1
    Next ' i
    Sheets(mySheetFirst).Activate
  End If
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Set myHTTP = CreateObject("MSXML2.XMLHTTP") ' ("Microsoft.XMLHTTP")
  Set myStream = CreateObject("ADODB.Stream")
  '
  For i = 1 To myMax
    Sheets(mySheetFirst + i - 1).Activate
    ActiveWindow.Zoom = 80
    '
    myStatusBar = i * 100 \ myMax & "%  " & i & "/" & myMax & "頁"
    Application.StatusBar = myTitle & ": " & myStatusBar
    '
    myURL = myArray(i)
    '
    On Error Resume Next
    Call myHTTP.Open("GET", myURL, False)
    Call myHTTP.Send
    If myHTTP.readyState <> 4 Then ' 4:READYSTATE_COMPLETE
      myStatus = "接続できません。" & " readyState <> 4" & vbLf & myHTTP.statusText & vbLf
      myStatus = myStatus & "readyState: " & myHTTP.readyState & vbLf
      myStatus = myStatus & "URL: " & myURL
      Range("A1").Value = myStatus
    End If
    If myHTTP.Status <> 200 Then
      myStatus = "接続できません。" & " Status <> 200" & vbLf & myHTTP.statusText & vbLf
      myStatus = myStatus & "readyState: " & myHTTP.readyState & vbLf
      myStatus = myStatus & "URL: " & myURL
     Range("A1").Value = myStatus
    End If
    On Error GoTo 0
    '
    myStream.Type = AdBinary
    myStream.Open
    myStream.write (myHTTP.responseBody)
    myStream.Position = 0
    myStream.Type = AdTypeText
    myStream.Charset = "x-sjis" ' "EUC-JP" ' "iso-2022-jp"
    mySource = myStream.ReadText()
    Call myStream.SaveToFile(myFile, 2)
    myStream.Close
    '
    With ActiveSheet.QueryTables.Add(Connection:="FINDER;" & myFile, Destination:=Range("A1"))
      .Name = "BBS"
      .FieldNames = True
      .RowNumbers = False
      .FillAdjacentFormulas = False
      .PreserveFormatting = True
      .RefreshOnFileOpen = False
      .BackgroundQuery = False
      .RefreshStyle = xlInsertDeleteCells
      .SavePassword = False
      .SaveData = True
      .AdjustColumnWidth = True
      .RefreshPeriod = 0
      .WebSelectionType = xlSpecifiedTables
      .WebFormatting = xlWebFormattingAll
      .WebTables = "1,2"
      .WebPreFormattedTextToColumns = True
      .WebConsecutiveDelimitersAsOne = True
      .WebSingleBlockTextImport = False
      .WebDisableDateRecognition = False
      .WebDisableRedirections = False
      .Refresh BackgroundQuery:=False
    End With
    '
    Columns("A:A").ColumnWidth = 10#
    Columns("B:B").ColumnWidth = 16#
    Columns("B:B").Font.Size = 11
    '
    ActiveWindow.SmallScroll Down:=3
    ActiveSheet.Name = ActiveSheet.Range("A1").Text
    For Each myLink In ActiveSheet.Hyperlinks
      myLink.Address = Replace(myLink.Address, "C:\Documents and Settings\User\My Documents\Zzz", "http://www.moug.net/faq/")
      myLink.Address = Replace(myLink.Address, "\", "/")
      DoEvents
    Next ' myLink
    Range("B4").Select
    '
    DoEvents
  Next ' i
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  On Error Resume Next
  Application.ScreenUpdating = True
  Sheets(mySheetFirst).Activate
  Kill myFile
  '
  Set myHTTP = Nothing
  Set myStream = Nothing
  On Error GoTo 0
  '
  myStatusBar = "処理が終了しました。"
  Application.StatusBar = myTitle & ": " & myStatusBar & Now()
  Application.Speech.Speak myStatusBar, False
  Beep
End Sub ' MyXlMougBbs *----*----*    *----*----*    *----*----*    *----*----*

Sub MyXlMougBbsSite(mySite As String)
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=16"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=6"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=2"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=4"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=7"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=8"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=10"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=9"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=12"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=5"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=1"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=3"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=13"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=11"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=14"
  mySite = mySite & "," & "http://www.moug.net/faq/viewforum.php?f=15"
End Sub ' MyXlMougBbsSite *----*----*    *----*----*    *----*----*    *----*----*
inserted by FC2 system