Problem changing sheet templates in drawing files with VB

Writing a macro to change our drawing sheet template on alarge number of drawings. We wanted to automate some of the processwith a macro that is to be run by the operator after the drawing isloaded.

The macro uses "SetTemplateName" method to replace one custom sheetwith another. They are both custom sheets so i didn't have to worryabout the template index being changed.

Problem is after the macro runs the "Sheet properties" dialog showthe new template name in the file field but the sheet does notchange after a rebuild.

I think this is linked to when i change the template manually. Ireceive a dialog box saying "The current sheet format has notesthat have been modified. Do you want these deleted?" If I answerYes to this everything works (after a rebuild). If I answer no Iget a doubling up of the notes on the drawing sheet for the drawingtitles and copyright notice.
I think its the the API's handling of this dialog box that iscausing the problems?

Either way is there a way around this problem?

Code Below:
(Its not pretty and it has a bit of extra debugging stuff in therewhich was to get me back into the VB groove as I haven't used it inquite a while.)

'******************************************************************************
' Macro for changing the template for drawing sheets.
' Checks the number of sheets and sheets names.Gathers the sheetinfo from the
' Cycles through each sheet and replaces the sheet template withthe new template
' Currently has debugging info at teh start for file name etc...
' When finished working will include the following logic
' Check size of drawings sheet and use either A2 or A3 template.
'
'******************************************************************************
Option Explicit

' Drawing Paper Sizes
Public Enum swDwgPaperSizes_e
swDwgPaperAsize = 0
swDwgPaperAsizeVertical = 1
swDwgPaperBsize = 2
swDwgPaperCsize = 3
swDwgPaperDsize = 4
swDwgPaperEsize = 5
swDwgPaperA4size = 6
swDwgPaperA4sizeVertical = 7
swDwgPaperA3size = 8
swDwgPaperA2size = 9
swDwgPaperA1size = 10
swDwgPaperA0size = 11
swDwgPapersUserDefined = 12
End Enum

' Drawing Templates
Public Enum swDwgTemplates_e
swDwgTemplateAsize = 0
swDwgTemplateAsizeVertical = 1
swDwgTemplateBsize = 2
swDwgTemplateCsize = 3
swDwgTemplateDsize = 4
swDwgTemplateEsize = 5
swDwgTemplateA4size = 6
swDwgTemplateA4sizeVertical = 7
swDwgTemplateA3size = 8
swDwgTemplateA2size = 9
swDwgTemplateA1size = 10
swDwgTemplateA0size = 11
swDwgTemplateCustom = 12
swDwgTemplateNone = 13
End Enum

Sub main()

Dim swApp As Object
Dim swModel As Object
Dim swDraw As Object
Dim swSheet As Object

Dim bstatus As Boolean
Dim SheetCnt As Integer
Dim SheetNameArr As Variant
Dim SheetName As Variant
Dim TemplateName As Variant
Dim SheetProps As Variant
Dim A3Template As Variant
Dim A2Template As Variant

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel

A3Template = "l:\solidworks\cm templates\cmp a3 - SALT LOGO.slddrt"'Set new templates to use
A2Template = "l:\solidworks\cm templates\cmp a2.slddrt"

SheetCnt = swModel.GetSheetCount() 'get number of sheets
SheetNameArr = swModel.GetSheetNames() 'get sheet names

Debug.Print "File = " & swModel.GetPathName 'filename
Debug.Print "Sheet Count = " & SheetCnt 'for number of sheets

For Each SheetName In SheetNameArr

' gather all the sheet information

Set swSheet = swDraw.GetCurrentSheet
TemplateName = swSheet.GetTemplateName 'get template name

Debug.Print " SheetName = " & SheetName 'print sheet names
Debug.Print " TemplateName = " & TemplateName 'print templatenames

bstatus = swModel.ActivateSheet(SheetName) 'activate sheet
SheetProps = swSheet.GetProperties() 'get sheet properties

' got all the info we need for the sheet

bstatus = swSheet.SetTemplateName(A3Template) 'Change to newtemplate



Next SheetName


End Sub
SolidworksApi macros