不知道哪位兄弟给改进下,如果我用了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
|