Private Sub Command1_Click()
   Dim strURL As String
   Dim sUserID As String
   Dim sPassword As String
   strURL = "http://e2KServer/public/"
   sUserID = "UserID" 'TODO 
   sPassword = "password" 'TODO
   ListFolders strURL, sUserID, sPassword
End Sub
Sub ListFolders(ByVal strURL As String, ByVal sUserID As String, _
ByVal sPassword As String)
   'Dim oDoc As MSXML.DOMDocument
   'Dim oDocBack As MSXML.DOMDocument
   'Dim oNode As IXMLDOMElement
   'Dim oNode2  As IXMLDOMElement
   'Dim req As MSXML.XMLHTTPRequest
   MSXML 6.0 
   Dim oDoc As MSXML2.DOMDocument460
   Dim oDocBack As MSXML2.DOMDocument640
   Dim req As MSXML2.XMLHTTP60
   Set oDoc = CreateObject("MSXML2.DomDocument.6.0")
   Set oDocBack = CreateObject("MSXML2.DomDocument.6.0")
   Set oDoc = CreateObject("MICROSOFT.XMLDOM")
   Set oDocBack = CreateObject("MICROSOFT.XMLDOM")
   Set pi = oDoc.createProcessingInstruction("xml", "version=""1.0""")
   oDoc.appendChild pi
   Set oNode = oDoc.createNode(1, "searchrequest", "DAV:")
   Set oDoc.documentElement = oNode
   Set oNode2 = oDoc.createNode(1, "sql", "DAV:")
   oNode.appendChild oNode2
   strQuery = "Select ""DAV:displayname"" From "
   strQuery = strQuery & "Scope('Shallow Traversal of """ & strURL & """')"
   Set query = oDoc.createTextNode(strQuery)
   oNode2.appendChild query
   Set req = CreateObject("microsoft.xmlhttp")
   req.open "SEARCH", strURL, False, sUserID, sPassword
   req.setRequestHeader "Translate", "f"
   req.setRequestHeader "Content-Type", "text/xml"
   req.setRequestHeader "Depth", "0"
   req.send oDoc
   Set oDocBack = req.responseXML
   Dim objNodeList
   'Typically the DAV namespace get the 'a' prefix.
   'If you are specifying multiple properties in a search, examine the 
   'returned XML beforehand to determine prefixes for your code.
   Set objNodeList = oDocBack.getElementsByTagName("a:displayname")
   For i = 0 To (objNodeList.length - 1)
     Set objNode = objNodeList.nextNode
     Debug.Print objNode.Text
   Next
End Sub