|
不知道哪位兄弟给改进下,如果我用了CLOSE,怎么会出错啊!望高手改进下!初学。
Sub wj()
Dim s As String
Dim Path As String, FileName As String
Dim dwgname As String
Dim point1(0 To 1) As Double, point2(0 To 1) As Double
FileName = "*.dwg"
Path = "C:\123" '修改路径
s = Dir(Path & "\" & FileName)
point1(0) = 70 '打印范围
point1(1) = 70
point2(0) = 4130
point2(1) = 2900
While s ""
dwgname = Path & "\" & s
ThisDrawing.Application.Documents.Open dwgname
If Not ThisDrawing.ModelSpace.Layout.StyleSheet = "acad.ctb" Then ThisDrawing.ModelSpace.Layout.StyleSheet = "acad.ctb" ' 修改打印样式表
ThisDrawing.ModelSpace.Layout.SetWindowToPlot point1, point2
ThisDrawing.ModelSpace.Layout.GetWindowToPlot point1, point2
ThisDrawing.ModelSpace.Layout.PlotType = acWindow
ThisDrawing.ModelSpace.Layout.UseStandardScale = 0.001 '修改比例
ThisDrawing.ModelSpace.Layout.PlotWithPlotStyles = True
If Not ThisDrawing.ModelSpace.Layout.ConfigName = "HP LaserJet 5000LE" Then ThisDrawing.ModelSpace.Layout.ConfigName = "HP LaserJet 5000LE" ' 修改打印机
If Not ThisDrawing.ModelSpace.Layout.CanonicalMediaName = "A3" Then ThisDrawing.ModelSpace.Layout.CanonicalMediaName = "A3" ' 修改图幅
ThisDrawing.Plot.NumberOfCopies = 1
ThisDrawing.ModelSpace.Layout.PlotRotation = ac90degrees
ThisDrawing.ModelSpace.Layout.PaperUnits = acMillimeters
ThisDrawing.Plot.PlotToDevice
s = Dir
Wend
End Sub
|
|