Based on member's James006 answer to post "delete form controls in copied workbook" . I am creating a 'template' which will create a copy of the template and update the resulting file. This works until I want to remove the Form object/macro in the resulting copy.
Sub Remove_All_Objects()
On Error Resume Next
ActiveSheet.DrawingObjects.Visible = True
ActiveSheet.DrawingObjects.Delete
On Error GoTo 0
End Sub
My code:
'**** Generate new destination file
'create workbook
Dim wb As New Workbook
Set wb = Workbooks.Add
'add updated sheets to new workbook. Form object "Create copy" is on sheet 1
ThisWorkbook.Sheets("Site Information").Copy before:=wb.Sheets(1)
wb.Sheets(1).Name = "Site Information"
Remove_All_Objects
ThisWorkbook.Sheets("new-site").Copy after:=wb.Sheets(1)
wb.Sheets(2).Name = "Site"
etc.....
This works on the first pass, the macro objects are removed from the resulting file. However, say I make a data entry mistake in the original file:
I delete the resulting file
Re-run the Macro button again in the original file
It creates the new workbook 'Bookx' with a copy of Sheet1 including the Macro object
The VBA then comes up with a "Runtime error - Automation error - The object invoked has disconnected from its clients." highlighted at
ThisWorkbook.Sheets("Site Information").Copy before:=wb.Sheets(1)
Any idea what I will need to do?
Thanks
Sub Remove_All_Objects()
On Error Resume Next
ActiveSheet.DrawingObjects.Visible = True
ActiveSheet.DrawingObjects.Delete
On Error GoTo 0
End Sub
My code:
'**** Generate new destination file
'create workbook
Dim wb As New Workbook
Set wb = Workbooks.Add
'add updated sheets to new workbook. Form object "Create copy" is on sheet 1
ThisWorkbook.Sheets("Site Information").Copy before:=wb.Sheets(1)
wb.Sheets(1).Name = "Site Information"
Remove_All_Objects
ThisWorkbook.Sheets("new-site").Copy after:=wb.Sheets(1)
wb.Sheets(2).Name = "Site"
etc.....
This works on the first pass, the macro objects are removed from the resulting file. However, say I make a data entry mistake in the original file:
I delete the resulting file
Re-run the Macro button again in the original file
It creates the new workbook 'Bookx' with a copy of Sheet1 including the Macro object
The VBA then comes up with a "Runtime error - Automation error - The object invoked has disconnected from its clients." highlighted at
ThisWorkbook.Sheets("Site Information").Copy before:=wb.Sheets(1)
Any idea what I will need to do?
Thanks