我自己边的一个打印程序,其中有三处错误,请高手指点一下为什么错了,我找了半天都没找出来,小弟初学 Public Sub PLprint() ThisDrawing.ActiveLayout = ThisDrawing.Layouts.Item("Model") ThisDrawing.ActiveLayout.ConfigName = "DWF6 ePlot.pc3" '设置打印方式是窗口 ThisDrawing.ModelSpace.Layout.PlotType = acWindow Dim ptMin As Variant, ptMax As Variant Dim ent As AcadEntity ThisDrawing.SetVariable "BACKGROUNDPLOT", 0 '这里显示设置系统变量时出错 For Each ent In ThisDrawing.ModelSpace If TypeOf ent Is AcadBlockReference Then If StrComp(ent.Name, "actj2tk", vbTextCompare) = 0 Then ent.GetBoundingBox ptMin, ptMax End If End If Next ent ' 设置打印范围 ReDim Preserve ptMin(0 To 1) ReDim Preserve ptMax(0 To 1) ThisDrawing.ModelSpace.Layout.SetWindowToPlot ptMin, ptMax '设置打印比例为缩放到图纸大小,并中心对正 ThisDrawing.ModelSpace.Layout.StandardScale = acScaleToFit ThisDrawing.ModelSpace.Layout.CenterPlot = True '设置笔为彩色 ThisDrawing.ActiveLayout.StyleSheet = "DWF Virtual Pens.ctb" '这里显示输入有无效,可我看了cad中打印样式就这样的呀! '选择打印机和纸张 ThisDrawing.ModelSpace.Layout.ConfigName = "WINDOW.PC3" ThisDrawing.ModelSpace.Layout.CanonicalMediaName = "600*2000 毫米" '这里提示输入无效,我自己设的纸张大小是600*2000的,要是有错该写成什么样呢? ' 设置打印份数为1 ThisDrawing.Plot.NumberOfCopies = 1 ' 设置安静打印 ThisDrawing.Plot.QuietErrorMode = True '打印 ThisDrawing.Plot.PlotToDevice ThisDrawing.SetVariable "BACKGROUNDPLOT", 2 End Sub
|