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 afterEnd you can use:
Sub afterEnd()
Dim strHTMLLink As String
Dim strHTMLMeta As String
Dim strHTMLTitle As String
Dim objHead As IHTMLElement
Dim objTitle As IHTMLElement
Dim objMeta As IHTMLElement
Set objHead = ActiveDocument.all.tags("head").Item(0)
strHTMLLink = _
vbCrLf & _
vbTab & _
"<link>"
strHTMLMeta = _
vbCrLf & _
vbTab & _
"<meta>"
strHTMLTitle = _
vbCrLf & _
vbTab & _
"<title>" & _
vbCrLf & _
vbTab & _
"</title>"
objHead.insertAdjacentHTML "beforeEnd", strHTMLTitle
Set objTitle = ActiveDocument.all.tags("Title").Item(0)
objTitle.insertAdjacentHTML "afterEnd", strHTMLMeta
Set objMeta = ActiveDocument.all.tags("meta").Item(0)
objMeta.insertAdjacentHTML "afterEnd", strHTMLLink
End Sub
After
objHead.insertAdjacentHTML "beforeEnd", strHTMLTitle
The HTML will be:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> </title> </head> <body> </body> </html>
After
objTitle.insertAdjacentHTML "afterEnd", strHTMLMeta
The HTML 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> </head> <body> </body> </html>
After
objMeta.insertAdjacentHTML "afterEnd", strHTMLLink
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 "afterBegin, strHTML