VBA设置打印机
大家好我有马可自动发布许多图纸,现在我想设置打印机,让他们打印得更快。因此,请帮助我将VBA写入autocad绘图的设置打印机,如下所示:
1.更改布局,并将视口添加到图纸框架中(每个图纸中的框架应按比例缩放)
2、打印机/绘图仪:默认打印机
3、纸张尺寸:A3
4、绘图区域:窗口(在布局中获取所有图纸)
5、打印偏移:将打印居中
6、比例:适合纸张
7、打印样式表:单色。
谢谢 检查它的lisp而不是vba,但做你想要的
http://www.cadtutor.net/forum/showthread.php?69132-正在打印LISP帮助&高亮显示=打印LISP
谢谢,但我需要VBA来添加我的marco。 这是一个如何在VBA中重写的方法示例,你知道如何编写VBA吗?
你好我只知道VBA,不是LISP。你能帮我用VBA编程吗。谢谢
例如:在模型中绘制矩形,然后移动到布局并将打印机设置为以下设置:
1.在布局中,将视口添加到矩形
2、打印机/绘图仪:PC默认打印机
3、纸张尺寸:A3
4、绘图区域:窗口(在布局中获取所有图纸)
5、打印偏移:将打印居中
6、比例:适合纸张
7、打印样式表:单色。 你需要在VBA中理解一些基本原则,我不是专家,但知道足够做基本编程。您是否查看了Autocad中的开发者帮助?
详细的Vlisp版本将作为VBA提供所有这些步骤的文档
打开autocad文档(vla get activedocument(vlax get acad object))
从文档中以组的形式获取布局(vla get layouts(vla get activedocument(vlax get acad object)))
一次遍历一个布局(vlax for lay(vla get layouts(vla get activedocument(vlax get acad object)))
返回布局编号(vla get taborder lay)
通过检索布局名称(setvar“ctab”(vla get name lay))打开当前布局ctab
(命令“Plot”…可以通过调用绘图脚本VBA thisdrawing.Plot来完成http://forums.autodesk.com/t5/visual-basic-customization/automated-print-from-vba-using-a-saved-page-setup/m-p/2250520
一个快速的谷歌,这是在这里发现的Cadtutor解决了一个问题Cadtutor不是一个为我写代码的服务,如果你想要的话,那么你要么付钱给别人,要么等待可能的帮助。
Sub FindLayouts()
Dim oLay As AcadLayout
For Each oLay In ThisDrawing.Layouts
MsgBox oLay.Name
Next
End Sub
谢谢BIGAL
我完成了我的计划。下面是我的程序
Sub Example_PlotType()
Dim ACADLayout As ACADLayout
Dim originalValue As Integer
Dim Print1 As String
Dim Paper1 As String
Set ACADLayout = ThisDrawing.ActiveLayout
Print1 = "HP LaserJet 5200 Series PCL 5" ' name of my printer
Paper1 = "A3" 'type of paper size
ACADLayout.PlotType = acExtents
ACADLayout.CenterPlot = True
ThisDrawing.ActiveLayout.StyleSheet = "monochrome.ctb"
ThisDrawing.ActiveLayout.StandardScale = acScaleToFit
ThisDrawing.ActiveLayout.ConfigName = Print1
ThisDrawing.ActiveLayout.CanonicalMediaName = Paper1
End Sub FWIW-
我认为导入命名页面设置并将其应用于布局是一种更简单的实现。
如果/当你决定进入。NET API,这个旧帖子可能有用。
干杯 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
知名度高
页:
[1]