Option Explicit

Private Sub Parse(ByVal sFile, ByVal bKeywords)
  Dim s 'As String
  Dim i 'As Integer
  
  Set oTextStream = oFileSystemObject.OpenTextFile(sFile, ForReading, False)
  While Not oTextStream.AtEndOfStream
    s = oTextStream.ReadLine
    i = InStr(LCase(s), "href")
    If i > 0 Then
      s = Left(s, i - 1)
      s = Mid(s, InStrRev(s, "=") + 1)
      s = Trim(Replace(s, Chr(34), ""))
      i = InStr(LCase(s), " statement")
      If i > 0 Then s = Left(s, i - 1)
      If bKeywords Then sKeywords = sKeywords & s & "," Else sStatements = sStatements & s & ","
    End If
  Wend
  oTextStream.Close
End Sub

Const ForReading = 1
Const ForWriting = 2
Dim oFileSystemObject 'As FileSystemObject
Dim oTextStream 'As TextStream
Dim sKeywords 'As String
Dim sStatements 'As String

Dim sPath 'As String

Set oFileSystemObject = CreateObject("Scripting.FileSystemObject")
sPath = "C:\temp\" 'location of downloaded XML files
Parse sPath & "vbref982715_.xml", True 'keyword file
Parse sPath & "vbref982634_.xml", False 'statement (A-H) file
Parse sPath & "vbref982662_.xml", False 'statement (I-P) file
Parse sPath & "vbref982689_.xml", False 'statement (R-Z) file
Set oTextStream = oFileSystemObject.OpenTextFile(sPath & "Keywords.txt", ForWriting, True)
oTextStream.Write Left(sKeywords, Len(sKeywords) - 2) 'save keyword list to a file
oTextStream.Close
Set oTextStream = oFileSystemObject.OpenTextFile(sPath & "Statements.txt", ForWriting, True)
oTextStream.Write Left(sStatements, Len(sStatements) - 2) 'save statement list to a file
oTextStream.Close
Set oTextStream = Nothing
Set oFileSystemObject = Nothing


