If you are working in managed(CLI) VC++ then you can consider the HTML Agility Pack, available via nuget.
If sticking to MSHTML is not necessary then probably you can opt for parsing the HTML documents as XML documents. That way you would be able to parse all the tags and attributes with a lot of flexibility. There are plenty of XML parsers available for C++.
This library looks compact simple and efficient (available for multiple platforms): https://github.com/leethomason/tinyxml2
Another one is: http://pugixml.org/
This link may help you if you want to get rid of MSHTML dependency: http://www.codeproject.com/Articles/30342/Remove-Microsoft-mshtml-dependency