Setting the font size of a bookmark is straight-forward in VBA:
Dim doc As Document
Const MultiSelection As Long = 9999999
Set doc = Application.ActiveDocument
If doc.Bookmarks.Exists("myBookmark") Then
If doc.Bookmarks("myBookmark").Range.Font.Size = MultiSelection Then
' the range of the bookmark consists of runs with different font sizes
doc.Bookmarks("myBookmark").Range.Font.Size = 12
Else
doc.Bookmarks("myBookmark").Range.Font.Size _
= doc.Bookmarks("myBookmark").Range.Font.Size + 4
End If
End If
Probably a better option if you want to increase the font size proportionally, is to use Font.Grow
which will increase the font size to the next available size, e.g. to get from 8 to 12 you would have to call it 4 times.
If doc.Bookmarks.Exists("myBookmark") Then
For i = 1 To 4
doc.Bookmarks("myBookmark").Range.Font.Grow
Next
End If
If you are not familiar with Word's object model, a trick is to use the Macro Recorder. In you case, start the recorder, open the bookmarks dialog, go to the bookmark and then change the font size. The recorded actions will be saved as a module in your Normal.dot file by default. The action of changing the font size of a bookmark would result in the following recorded macro:
Selection.GoTo What:=wdGoToBookmark, Name:="myBookmark"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.Font.Size = 12
This code can be the basis for your own function (although it looks a bit different from the above sample, the effect will be the same).