Hello
For my part, I use this type of code but not in interaction with Solidworks PDM (users have the macro available to make the change when modifying the plans).
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim bRet As Boolean
Dim vSheetNameArr As Variant
Dim vSheetName As Variant
Dim vSheetProps As Variant
Dim stemplatepath As String
Const cDirTemplate = "xxx" 'Mettre le chemin d'accès aux fonds de plan slddrt
Const cTemplateA4 = "A4 - iso.slddrt"
Const cTemplateA3 = "A3 - iso.slddrt"
Const cTemplateA2 = "A2 - iso.slddrt"
Const cTemplateA1 = "A1 - iso.slddrt"
Sub ReloadTemplate()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
vSheetNameArr = swDraw.GetSheetNames
For Each vSheetName In vSheetNameArr
bRet = swDraw.ActivateSheet(vSheetName): Debug.Assert bRet
Set swSheet = swDraw.GetCurrentSheet
vSheetProps = swSheet.GetProperties
If vSheetProps(0) = "7" Then
stemplatepath = cDirTemplate & cTemplateA4
bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
swSheet.ReloadTemplate False
swModel.ForceRebuild3 (False)
ElseIf vSheetProps(0) = "8" Then
stemplatepath = cDirTemplate & cTemplateA3
bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
swSheet.ReloadTemplate False
swModel.ForceRebuild3 (False)
ElseIf vSheetProps(0) = "9" Then
stemplatepath = cDirTemplate & cTemplateA2
bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
swSheet.ReloadTemplate False
swModel.ForceRebuild3 (False)
ElseIf vSheetProps(0) = "10" Then
stemplatepath = cDirTemplate & cTemplateA1
bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
swSheet.ReloadTemplate False
swModel.ForceRebuild3 (False)
End If
Next
bRet = swDraw.ActivateSheet(vSheetNameArr(0))
End Sub
To be seen to integrate it into an action via the workflow but also think that the vault folder is always with the latest version in the users' cache otherwise it will not apply the latest basemap.
For my part, all SW document templates are out of the box.