- Sub PlotByBlocks() 
- 'Tools -> References-> подключить библиотеку AutoCAD 20XX Type Library 
- ' 
- ' 
- Dim acadApp As AcadApplication 
- Dim acadDoc As AcadDocument 
-   
- 'Получаем ссылку на приложение автокада 
- Set acadApp = GetObject(, "AutoCad.Application") 
- Set acadDoc = acadApp.ActiveDocument 
-   
- If acadDoc.ActiveSpace = 0 Then '0 = acPaperSpace in early binding 
-     acadDoc.ActiveSpace = 1     '1 = acModelSpace in early binding 
- End If 
-   
-     Dim objEnt As AcadObject 
-     Dim objBRef As AcadBlockReference 
-     Dim pt1 As Variant 
-     Dim pt2(0 To 1) As Double 
-     Dim i As Integer 
-   
- Dim ss As AcadSelectionSet 
- 'Проверить существует ли  набор с таким именем 
- Set ss = acadDoc.SelectionSets.Item("SS") 
- 'если не существует то создаем 
- If ss Is Nothing Then 
-     Set ss = acadDoc.SelectionSets.Add("SS") 
- End If 
-   
- ss.SelectonScreen 
-   
- On Error Resume Next 
-     i = 0 
-     For Each objEnt In ss 
-     'У вас было  не правильное имя 
-     If objEnt.ObjectName = "AcDbBlockReference" Then 
-     Set objBRef = objEnt 
-         If objBRef.EffectiveName = "А1ашб" Then 
-         pt1 = objBRef.InsertionPoint 
-         pt1 = ThisDrawing.Utility.TranslateCoordinates(pt1, acWorld, acDisplayDCS, False) 
-         ReDim Preserve pt1(0 To 1) 
-         pt2(0) = pt1(0) + 84100 
-         pt2(1) = pt1(1) + 59400 
-         i = i + 1 
-         'так как код запускается из Екселя, мы не можем ссылаться на  ThisDrawling, нужно в процедуру PolyPlot передать ссылку на документ автокада 
-         'ActiveWorkbook.Path -- путь вашего екселя 
-         PolyPlot acadDoc, ActiveWorkbook.Path + "\" + CStr(i), pt1, pt2 ' желательно по пути файла Excel сохранить в папку из ячейки B1 
-         End If 
-     End If 
-     Next 
- End Sub 
- Sub PolyPlot(ByRef acadDoc, strFileName As String, pt1 As Variant, pt2 As Variant) 
-     Dim Layout As AcadLayout 
-     'замена ThisDrawling на ссылку чертежа в автокад 
-     Set Layout = acadDoc.ActiveLayout 
-     Layout.RefreshPlotDeviceInfo 
-     Layout.ConfigName = "DWG To PDF.pc3" 
-      
-         'в видео Максим Маркевич акцентировал что имя формата должно быть на английском с заменой пробелов на нижнее подчеркивание 
-     Layout.CanonicalMediaName = "ISO_full_bleed_A1_(841.00_x_594.00_MM)" 
-     Layout.CenterPlot = True 
-     Layout.PlotRotation = ac0degrees 
-     Layout.StandardScale = acScaleToFit 
-     Layout.StyleSheet = "acad.ctb" 
-     Layout.SetWindowToPlot pt1, pt2 
-     Layout.PlotType = acWindow 
-      
-     'замена ThisDrawling на ссылку чертежа в автокад 
-     acadDoc.Regen acAllViewports 
-     acadDoc.Plot.PlotToFile strFileName 
- End Sub 
-   
-