Give this code pattern a try:
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' When working with ComObjects like a WordApp or any of its parts like Docement, Range etc.
' define a variable for each part.
' I follow the Single Dot Rule when accessing the component classes.
' i.e. donot code doc.BooKmarks("Contact1").Range.Text
' (Bookmark class and Range Class referenced)
'
' This can create unbound references to a ComObject that will cause Word to remain running as
' a hidden application.
Dim wordapp As Word.Application = CType(CreateObject("Word.Application"), Word.Application)
' load a document template file
Dim doc As Word.Document = wordapp.Documents.Add("D:\My Documents\temp\Word Example Bookmark Template.dot")
Dim bookmark As Word.Bookmark = doc.Bookmarks("Contact1")
Dim rng As Word.Range = bookmark.Range
bookmark = Nothing ' done with bookmark, so release it
rng.Text = "some text"
rng = Nothing ' done with this range, so release it
doc.SaveAs("D:\My Documents\temp\Word Example Bookmark Template.doc", Word.WdDocumentType.wdTypeDocument)
doc.Close(False)
doc = Nothing ' done with doc, so release it
wordapp.Quit()
wordapp = Nothing 'done with app, so release it
End Sub
End Class