Your html code should look like:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> </head> <body> </body> </html>
To insert title, meta and link as children of head using afterBegin you can use:
Sub AfterBegin()
Dim strHTML As String
Dim objHead As IHTMLElement
Set objHead = ActiveDocument.all.tags("head").Item(0)
strHTML = _
vbCrLf & _
vbTab & _
"<title>" & _
vbCrLf & _
vbTab & _
"</title>" & _
vbCrLf & _
vbTab & _
"<meta>" & _
vbCrLf & _
vbTab & _
"<link>"
objHead.insertAdjacentHTML "afterBegin", strHTML
End Sub
Your HTML code will be:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> </title> <meta> <link> </head> <body> </body> </html>
Other methods to accomplish the same thing:
innerHTML, all 3 children at once
innerHTML, Child1, Child 2, Child3
innerHTML, Child3, Child2, Child1
innerHTML, Child1, Child3, Child2 using innerHTML
innerHTML, Child1, Child2, Child3 using outerHTML
insertAdjacentHTML "beforeBegin, strHTML
insertAdjacentHTML "beforeEnd, strHTML