So schlimm ist es nicht, Word ist über Automation äußerst zugänglich. Da findet man Sachen, bei denen man über die Menüs verzweifeln würde.
Das sollte entsprechend formatierte Überschriften erster Ordnung aus dem Dokument lesen.

<html><head><title>Word</title>
<script language="JScript" type="text/jscript">
function Los()
{
var dv, word, ip;
dv=document.getElementById("hier");
ip=document.getElementById("datei");
word=new ActiveXObject("Word.Application");
word.documents.Open(ip.value);
var pg=word.ActiveDocument.Paragraphs;
for (var i=1; i<pg.Count; i++)
{
if (pg.Item(i).Format.Style=="Überschrift 1") dv.innerHTML=dv.innerHTML+(pg.Item(i).Range.Text+"<br />");
}
word.Quit();
}
</script>
<head>
<body>
<p>Datei:<br />
<input id="datei" type="text" size="100" />
</p>
<button onclick=Los()>Los</button>
<p></p><div id="hier"></div></p>
</body></html>

Was für ein Word ist es denn? 2003 speichert doch XML, da könnte es mit XSLT funktionieren.
Allerdings ist Word viel zu freizügig, verglichen mit einer eher strengen Programmiersprache, selbst C++. Etwas, dass wie eine Überschrift aussieht, muss keine sein, es reicht wenn es so formatiert wurde. Für ein Programm wäre das ziemlich heftig.