霹雳啪啦啦 发表于 2005-6-19 12:40:00

关于连续打印的问题,请教!!

在明经上学到了不少东西,现在自己也开始试着用VBA写东西了。目前碰到一个打印问题,不知如何解决,向各位前辈请教:


现在搞得这个程序是连续打印工具,用遍历CAD图形的方法找到指定名称的块参照,找到后用getboundingbox方法确定块参照的外围大小,而后使用窗口方式,plottodevice方法打印块参照(全部操作在modelspace),一个打印完再找另一个,找到继续打印(图形中同样名称的块参照可能有多个)。现在遇到的问题是,使用plottodevice方法打印后,硬盘一阵闪动,程序却在继续遍历并打印下一个,此时第二个打印会出错(VBAIDE报使用plottodevice方法失败),而且失败时第一个还没有打出来。如果报失败时,什么也不做对着屏幕发呆10秒钟,等到硬盘不闪且打印机开始动作了,按VBAIDE里的继续运行程序却可以打印第二个了。


请问前辈们是否是第一个打印还没有送到打印机里,就开始打印第二个造成冲突了呢?如果是,如何检测前一个打印是否完成了呢?


谢谢!谢谢!

霹雳啪啦啦 发表于 2005-6-22 16:39:00

自己解决了。发现写的程序其实在AutoCAD2002里运行正常,但自己图新鲜,装了个2006,程序在2006里写的,就没有注意。其实2006多了个backGroundPlot变量,正常写的批量打印程序需要首先将该变量置0,然后就正常了。


不过不太明白,这个变量究竟有什么使用价值,也没明白如果此变量不是0打印程序怎么写。反正现在程序一上去先把此变量置0,一切正常不管那么多了。

wyj7485 发表于 2005-6-22 16:12:00

把程序贴上来吧.

yzbj1983 发表于 2005-8-6 20:56:00

<P>这位仁兄,能把您的程序分享一下吗?</P>
<P>万分感谢了!</P>
<P>我的邮箱是<A href="mailto:yzbj19832002@163.com" target="_blank" >yzbj19832002@163.com</A></P>

霹雳啪啦啦 发表于 2005-8-8 17:31:00

<P>收Mail !</P>

烤烟农民 发表于 2005-8-8 21:16:00

<P>楼主,有好东东分享一下,我都流口水了~~~</P>
<P>邮箱:<A href="mailto:lsgo2000.student@sina.com" target="_blank" >lsgo2000.student@sina.com</A></P>
<P>谢谢!!</P>
<P>&nbsp;</P>

裸奔柠檬 发表于 2008-8-22 20:08:00

backGroundPlot设置为0代表在前台打印,设置为2代表后台打印

icy85 发表于 2008-8-22 21:33:00

<p>前台打印才会按照先后顺序一个一个打印</p>

wzqwzqwzq 发表于 2008-11-18 15:46:00

<p>以后画图画布局里面,,批量打印非常简单。</p>

xuxt 发表于 2008-11-18 19:36:00

<p>我也写了这个程序,方法差不多,先是全选图中名为“图框”的块,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set SS_Frm = ThisDrawing.SelectionSets.Add("SS_PlotFrm")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReDim Preserve FltType(0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReDim Preserve FltData(0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FltType(0) = 2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FltData(0) = "图框"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SS_Frm.Select acSelectionSetAll, , , FltType, FltData</p><p>再根据块的尺寸GetBoundingBox,取得打印区域,然后进行批量打印。</p><p>不过我的程序有一个问题没有解决,就是打印时无法确定这个块是在哪个布局中,所以在当前激活的布局中的块打印出来是正确的,其它打印出来的就不正确,请问楼主写的程序有没有这个问题。如果没有,能否提供一下思路。我的QQ是106548763</p>
页: [1] 2
查看完整版本: 关于连续打印的问题,请教!!