You could use my Batch processing add-in (even for a single file) to run a custom process. It handles all the background tasks related the file handling and will produce the same end result that your macro produces, albeit without seeing the document being processed. Use it to run the following custom process:
Function SaveHTML(oDoc As Document) As Boolean
Dim oNewDoc As Document
Dim strNewName As String
On Error GoTo Err_Handler
Set oNewDoc = Documents.Add(Template:=oDoc.FullName, Visible:=False)
oNewDoc.Content.FormattedText = oDoc.Range.FormattedText
strNewName = oDoc.FullName
strNewName = Left(strNewName, InStrRev(strNewName, Chr(46)))
strNewName = strNewName & "html"
oNewDoc.SaveAs Filename:=strNewName, _
FileFormat:=wdFormatFilteredHTML, _
AddToRecentFiles:=False
oNewDoc.Close 0
SaveHTML = True
lbl_Exit:
Exit Function
Err_Handler:
SaveHTML = False
End Function