The following should work. You will need to add a few lines to your macro and then call it from an autoexec macro in the same template.
Basically it checks whether the time is before 11 am when Word is opened. If it is, it then checks whether a custom document property exists and if it doesn't contain today's date it runs your macro, which updates the document property and saves the template.
Code:
Option Explicit
Sub AutoExec()
Dim oCP As DocumentProperty
Dim bProp As Boolean
If Val(Format(Now, "hhmm")) < "1100" Then
For Each oCP In ThisDocument.CustomDocumentProperties
If oCP.Name = "AutoRunDate" Then
If oCP.value = Date Then
bProp = True
Exit For
End If
End If
Next oCP
If bProp = False Then Call MyMacro
End If
End Sub
Sub MyMacro()
Dim oCP As DocumentProperty
Dim bProp As Boolean
For Each oCP In ThisDocument.CustomDocumentProperties
If oCP.Name = "AutoRunDate" Then
oCP.value = Date
bProp = True
Exit For
End If
Next oCP
If bProp = False Then
ThisDocument.CustomDocumentProperties.Add Name:="AutoRunDate", _
LinkToContent:=False, _
value:=Date, _
Type:=3
End If
ThisDocument.Save
MsgBox "Test" 'the rest of your macro code
End Sub