SirFred пишет:...если указывать его как Template.name or Template.FullName и в таком же духе.
С этого места,пожалуйста, поподробнее... 
sName = ActiveDocument.AttachedTemplate
Dim oTemp As Template
For Each oTemp In Templates
MsgBox oTemp.Name & vbCr & oTemp.FullName
Next oTemp
Неча тут подробничать. Разницы вам не будет. Если вы хотите использовать шаблон, то oTemp - он и не важно как он отображается с Name. Не указывайте имя шаблона, а используйте переменные.
Например надо вам нормал? окей
Sub Nazvanie()
Dim oTMP as Template
oTMP = GetTemplate("Normal")
End Sub
Function GetTemplate(ByVal oName as String)
For Each oTemp In Templates
MsgBox oTemp.Name & vbCr & oTemp.FullName
If InStr(oTemp.Name, oName) >= 1 Then GetTemplate = oTemp: Exit Function
Next oTemp
End Function
Ну или как вам надо
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871