这应该让你开始。你是想硬编码你的纸张尺寸还是把它作为一个参数传递?
- Public Sub SetupAndPlot(ByRef Plotter As String, CTB As String, SIZE As String, PSCALE As String, ROT As String)
- Dim Layout As AcadLayout
- On Error GoTo Err_Control
- Set Layout = ThisDrawing.ActiveLayout
- Layout.RefreshPlotDeviceInfo
- Layout.ConfigName = Plotter ' CALL PLOTTER
- Layout.PlotType = acExtents
- Layout.PlotRotation = ROT ' CALL ROTATION
- Layout.StyleSheet = CTB ' CALL CTB FILE
- Layout.PlotWithPlotStyles = True
- Layout.PlotViewportBorders = False
- Layout.PlotViewportsFirst = True
- Layout.CanonicalMediaName = SIZE ' CALL SIZE
- Layout.PaperUnits = acInches
- Layout.StandardScale = PSCALE 'CALL PSCALE
- Layout.ShowPlotStyles = False
- ThisDrawing.Plot.NumberOfCopies = 1
- Layout.CenterPlot = True
- If SIZE = "ARCH_expand_C_(24.00_x_18.00_Inches)" Then
- Layout.ScaleLineweights = True
- End If
- ThisDrawing.Regen acAllViewports
- ZoomExtents
- Set Layout = Nothing
- ThisDrawing.Save
- Exit_Here:
- Exit Sub
- Err_Control:
- Select Case Err.Number
- Case "-2145320861"
- MsgBox "Unable to Save Drawing- " & Err.Description
- Case "-2145386493"
- MsgBox "Drawing is setup for Named Plot Styles." & (Chr(13)) & (Chr(13)) & "Run CONVERTPSTYLES command", vbCritical, "Change Plot Style"
- Case Else
- MsgBox "Unknown Error " & Err.Number
- End Select
- End Sub
|