关于vba二次开发cad打印功能的一个菜鸟问题
我是一个cad二次开发初学者,现在遇到一个问题,希望各位大侠不吝赐教!我想把图上的各个图层分别打印出来,思路是想通过控制图层的开关来实现打印,因此写了下面的简单命令:执行...
我是一个cad二次开发初学者,现在遇到一个问题,希望各位大侠不吝赐教!
我想把图上的各个图层分别打印出来,思路是想通过控制图层的开关来实现打印,因此写了下面的简单命令:
执行命令之前,我首先把写代码把所有的图层关闭,这个没有问题,然后执行如下代码:
Dim objlyr As AcadLayer
For Each objlyr In ThisDrawing.Application.ActiveDocument.Layers
objlyr.LayerOn = True
ThisDrawing.Plot.PlotToDevice (我之所以想直接执行打印命令,是希望能够直接按照前次的打印设置执行打印)
objlyr.LayerOn = False
next
但是,打印机那边却并不反应,不知是为什么呢?还望大侠帮我一下!
ThisDrawing.Plot.PlotToDevice
是不是无法直接执行打印?
我就是想按照前次打印的设置进行打印,如何来实现呢? 展开
我想把图上的各个图层分别打印出来,思路是想通过控制图层的开关来实现打印,因此写了下面的简单命令:
执行命令之前,我首先把写代码把所有的图层关闭,这个没有问题,然后执行如下代码:
Dim objlyr As AcadLayer
For Each objlyr In ThisDrawing.Application.ActiveDocument.Layers
objlyr.LayerOn = True
ThisDrawing.Plot.PlotToDevice (我之所以想直接执行打印命令,是希望能够直接按照前次的打印设置执行打印)
objlyr.LayerOn = False
next
但是,打印机那边却并不反应,不知是为什么呢?还望大侠帮我一下!
ThisDrawing.Plot.PlotToDevice
是不是无法直接执行打印?
我就是想按照前次打印的设置进行打印,如何来实现呢? 展开
展开全部
你确定这一句能够取得你想要的图层吗?ThisDrawing.Application.ActiveDocument.Layers
如果取不到的话中间部分的代码是不会执行的。
建议进行单步调试。
在ThisDrawing.Plot.PlotToDevice 一行下断点,如果执行不到那就说明你的遍历语句没有达到预期的效果。也就是没有遍历到对象自然打印不了了。
如果取不到的话中间部分的代码是不会执行的。
建议进行单步调试。
在ThisDrawing.Plot.PlotToDevice 一行下断点,如果执行不到那就说明你的遍历语句没有达到预期的效果。也就是没有遍历到对象自然打印不了了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
祝您早日解决!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询