GetPaperMargins Пример |
Sub Example_GetPaperMargins() ' Этот пример обратится к коллекции Layouts для текущего рисунка и ' перечислит графический размер из свойства GetPaperMargins для ' каждого Листа кроме пространства модели. Dim Layouts As AcadLayouts, Layout As ACADLayout Dim msg As String Dim Measurement As String Dim MarginLowerLeft As Variant, MarginUpperRight As Variant Dim PaperHeight As Double, PaperWidth As Double Dim PlotHeight As Double, PlotWidth As Double ' Получите коллекцию листов от объекта документа Set Layouts = ThisDrawing.Layouts msg = vbCrLf & vbCrLf ' Start with a space ' Получите информацию края каждого листа в этом рисунке For Each Layout In Layouts ' Пространство модели пропустить If Layout.name = "Model" Then GoTo NEXT_LAYOUT ThisDrawing.ActiveLayout = Layout msg = msg & Layout.name & vbCrLf ' Получите информацию края и размер бумаги Layout.GetPaperMargins MarginLowerLeft, MarginUpperRight Layout.GetPaperSize PaperWidth, PaperHeight ' Вычислить область печати PlotWidth = PaperWidth - (MarginUpperRight(0) - MarginLowerLeft(0)) PlotHeight = PaperHeight - (MarginUpperRight(1) - MarginLowerLeft(1)) ' Дюймы или миллиметры Measurement = " миллиметр(а, ов) " ' Формат для отображения msg = msg & vbTab & "Размер бумаги для этого листа msg = msg & vbTab & "Края бумаги: " & vbCrLf & _ vbTab & vbTab & "Left" & vbTab & "(" & MarginLowerLeft(0) & ")" & Measurement & vbCrLf & _ vbTab & vbTab & "Right" & vbTab & "(" & MarginUpperRight(0) & ")" & Measurement & vbCrLf & _ vbTab & vbTab & "Top" & vbTab & "(" & MarginUpperRight(1) & ")" & Measurement & vbCrLf & _ vbTab & vbTab & "Bottom" & vbTab & "(" & MarginLowerLeft(1) & ")" & Measurement & vbCrLf & vbCrLf msg = msg & vbTab & "Бумажная графическая область для этого листа: " & PlotWidth & " X " & PlotHeight & Measurement & vbCrLf msg = msg & "_____________________" & vbCrLfNEXT_LAYOUT: Next ' Размер бумаги отображения и информация края MsgBox "Бумажная графическая информация для текущего рисунка: " & msg End SubСайт управляется системой uCoz