- Sub PlotByBlocks() 
- 'Tools -> References-> ïîäêëþ÷èòü áèáëèîòåêó AutoCAD 20XX Type Library 
- On Error Resume Next 
- 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 varAttributes As Variant ' ÄÎÁÀÂÈË 
-     Dim l As Variant ' ÄÎÁÀÂÈË 
- 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 GoTo 0 
-     i = 0 
-     For Each objEnt In ss 
-     'Ó âàñ áûëî  íå ïðàâèëüíîå èìÿ 
-     If objEnt.ObjectName = "AcDbBlockReference" Then 
-     Set objBRef = objEnt 
-         If objBRef.EffectiveName = "À1àøá" Then 
-         pt1 = objBRef.InsertionPoint 
-         varAttributes = objBRef.GetAttributes ' ÄÎÁÀÂÈË 
-         l = varAttributes(4).TextString ' ÄÎÁÀÂÈË 
-         '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(l), 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" 
-     acadDoc.SetVariable "BACKGROUNDPLOT", 0 
-      
-         'â âèäåî Ìàêñèì Ìàðêåâè÷ àêöåíòèðîâàë ÷òî èìÿ ôîðìàòà äîëæíî áûòü íà àíãëèéñêîì ñ çàìåíîé ïðîáåëîâ íà íèæíåå ïîä÷åðêèâàíèå 
-     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 
-