cjs 发表于 2006-5-19 19:10:00

大家看看打印程序哪儿出错了?

<P>每次运行程序(vba) 只能打一张图然后弹出错误框:</P>
<P>&nbsp;<IMG src="UploadFile/2006-5/200651919135586.bmp"></P>
<P>&nbsp;Option Explicit<BR>&nbsp;&nbsp;&nbsp; Sub tt()<BR>&nbsp;&nbsp;&nbsp; Dim fn As String<BR>&nbsp;&nbsp;&nbsp; Dim strpath As String<BR>&nbsp;&nbsp;&nbsp; Dim doc As AcadDocument<BR>&nbsp;&nbsp;&nbsp; Dim docs As AcadDocuments<BR>&nbsp;&nbsp;&nbsp; Dim mdl As AcadModelSpace<BR>&nbsp;&nbsp;&nbsp; Dim plt As AcadPlot<BR>&nbsp;&nbsp;&nbsp; Dim dl(1) As Double, ur(1) As Double<BR>&nbsp;&nbsp;&nbsp; dl(0) = 443.2937: dl(1) = 203.4134<BR>&nbsp;&nbsp;&nbsp; ur(0) = 708.265: ur(1) = 522.5616<BR>&nbsp;&nbsp;&nbsp; strpath = "E:\重要工程\控制\控制点点之记\123\"<BR>&nbsp;&nbsp;&nbsp; Dim filname As String, dirf() As String<BR>&nbsp;&nbsp;&nbsp; Dim i As Integer, j As Integer<BR>&nbsp;&nbsp;&nbsp; filname = Dir(strpath + "*.dwg")<BR>&nbsp;&nbsp;&nbsp; i = 1<BR>&nbsp;&nbsp;&nbsp; Do While filname &lt;&gt; ""<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReDim Preserve dirf(1 To i) As String<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dirf(i) = strpath + filname<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filname = Dir<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i + 1<BR>&nbsp;&nbsp;&nbsp; Loop<BR>&nbsp;&nbsp;&nbsp; j = UBound(dirf)<BR>&nbsp;&nbsp;&nbsp; Set docs = ThisDrawing.Application.Documents<BR>&nbsp;&nbsp;&nbsp; For i = 1 To j<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set doc = docs.Open(dirf(i))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ThisDrawing.Application.ZoomExtents<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set mdl = doc.ModelSpace<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With mdl.Layout<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ConfigName = "hp LaserJet 1320 PCL 6"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .StandardScale = acScaleToFit<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PlotRotation = ac0degrees<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .SetWindowToPlot dl, ur<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PlotType = acWindow<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .CenterPlot = True<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' On Error Resume Next<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc.Plot.PlotToDevice<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc.Close False<BR>&nbsp;&nbsp;&nbsp; Next i<BR>&nbsp;&nbsp;&nbsp; MsgBox "finish", vbOKOnly, "OK"<BR>&nbsp;End Sub</P>

lgf727 发表于 2006-5-19 20:26:00

设置系统变量BACKGROUNDPLOT

霹雳啪啦啦 发表于 2006-5-19 22:17:00

lgf727说得对,将Backgroundplot变量设为0即可。关于这一点,我一直没明白,为什么Autodesk做成这个样子。
页: [1]
查看完整版本: 大家看看打印程序哪儿出错了?