Здравствуйте. При разработке макроса в VBA столкнулся со следующей проблемой. Имеется несколько прямоугольников. Макрос создает внутри каждого из них новые прямоугольники с определенным смещением и помещает каждый из них в определенный слой. Суть проблемы встала в дальнейшем выборе этих объектов и экспорту.
Private Sub 1_Button_Click()
Dim sr As ShapeRange
Dim s As Shape
Dim xObRez As Double, yObRez As Double, shirObRez As Double, visObRez As Double
Dim sn As String
Dim z As Long
Dim fn As String
Dim ss As Shape
Set sr = ActiveSelectionRange
For Each s In sr
z = z + 1
Set ss = ActivePage.Layers("LayerN").Shapes(z)
ss.CreateSelection
ss.GetBoundingBox xObRez, yObRez, shirObRez, visObRez
sn = CStr(visObRez) + "x" + CStr(shirObRez)
MsgBox (sn)
Dim expopt As StructExportOptions
Set expopt = CreateStructExportOptions
expopt.UseColorProfile = False
fn = "C:\Users\Comp\Desktop\" + CStr(sn) + ".dxf"
Dim expflt As ExportFilter
Set expflt = ActiveDocument.ExportEx(fn, cdrDXF, cdrSelection, expopt)
With expflt
.BitmapType = 0 ' FilterDXFLib.dxfBitmapJPEG
.TextAsCurves = True
.Version = 13 ' FilterDXFLib.dxfVersion2008
.Units = 3 ' FilterDXFLib.dxfMillimeters
.FillUnmapped = True
.FillColor = 0
.Finish
End With
Next s
End Sub
По задумке выбираю внешний контур объекта, выделяю его и к выделенному контуру добавляю все содержимое. Никак не пойму где мой косяк, экспортируется только внешняя рамка
Private Sub 1_Button_Click()
Dim sr As ShapeRange
Dim s As Shape
Dim xObRez As Double, yObRez As Double, shirObRez As Double, visObRez As Double
Dim sn As String
Dim z As Long
Dim fn As String
Dim ss As Shape
Set sr = ActiveSelectionRange
For Each s In sr
z = z + 1
Set ss = ActivePage.Layers("LayerN").Shapes(z)
ss.CreateSelection
ss.GetBoundingBox xObRez, yObRez, shirObRez, visObRez
sn = CStr(visObRez) + "x" + CStr(shirObRez)
MsgBox (sn)
Dim expopt As StructExportOptions
Set expopt = CreateStructExportOptions
expopt.UseColorProfile = False
fn = "C:\Users\Comp\Desktop\" + CStr(sn) + ".dxf"
Dim expflt As ExportFilter
Set expflt = ActiveDocument.ExportEx(fn, cdrDXF, cdrSelection, expopt)
With expflt
.BitmapType = 0 ' FilterDXFLib.dxfBitmapJPEG
.TextAsCurves = True
.Version = 13 ' FilterDXFLib.dxfVersion2008
.Units = 3 ' FilterDXFLib.dxfMillimeters
.FillUnmapped = True
.FillColor = 0
.Finish
End With
Next s
End Sub
По задумке выбираю внешний контур объекта, выделяю его и к выделенному контуру добавляю все содержимое. Никак не пойму где мой косяк, экспортируется только внешняя рамка