Конечно Вы не правы. Какая разница откуда и куда копировать объекты, в пределах одного чертежа или из одного чертежа в другой? Полностью код приводить не буду, уж извините. Алгоритм следующий:
1. Создаем новый файл на основе шаблона (файл с расширением dwt), содержащего нужный лист. Например:
Dim templateDoc As AcadDocument
Dim acadDoc As AcadDocument
Set acadDoc = AutoCAD.Application.ActiveDocument
Set templateDoc = AutoCAD.Application.Documents.Add("C:\Program Files\AutoCAD 2000i\Template\Шаблон1.dwt")
2. Т. к. после п. 1 активным будет новый чертеж, делаем активным "старый".
3. Дальше как в примере, создаем лист, создаем массив объектов нужного листа и т. д.
Dim objLayout As AcadLayout
Dim objNewLayout As AcadLayout
Dim objEnt As AcadObject
Dim objEntArray() As AcadObject
For Each objLayout In acadDoc.Layouts
If objLayout.name = strTo Then
acadDoc.Layouts.Item(strTo).Delete
Exit For
End If
Next
Set objNewLayout = acadDoc.Layouts.Add(strTo)
Set objLayout = templateDoc.Layouts.Item(strFrom)
ReDim objEntArray(0 To objLayout.Block.Count - 1) As AcadObject
For Each objEnt In objLayout.Block
Set objEntArray(i) = objEnt
i = i + 1
Next
4. Ну и наконец собственно копирование надписей, линий, видовых экранов и т. д. и т. п.
templateDoc.CopyObjects objEntArray, objNewLayout.Block
objNewLayout.CopyFrom objLayout
acadDoc.Regen acActiveViewport
5. Закрываем ненужный нам теперь файл без его сохранения.
Приблизительно вот так.