CADVBA批量打印(2)

2020-06-30 08:48

End If

' 设置范围打印

objLayout.PlotType = acExtents

' 对纵向的图纸设置

If Abs(ptMax(0) - ptMin(0)) < Abs(ptMax(1) - ptMin(1)) Then If AutoMedia Then objLayout.CanonicalMediaName = \ If AutoRotate Then objLayout.PlotRotation = ac0degrees End If

' 完全预览并提示打印

objPlot.DisplayPlotPreview acFullPreview

UserSel = MsgBox(\是否打印预览? \ & Chr(13) & Chr(13) & \打印到:\ & objLayout.ConfigName & _

\大小:\ & objLayout.CanonicalMediaName & \方式:acExtents(\ & objLayout.PlotType & \ & _

Chr(13) & Chr(13) & \选择[取消]退出程序!\, vbYesNoCancel, \打印选项\) If UserSel = vbYes Then

objPlot.PlotToDevice objLayout.ConfigName ElseIf UserSel = vbCancel Then Exit Sub End If End If

' 关闭文档 False 为不保存修改

If AutoClose Then objDoc.Close False, ThisDrawing.Name

End Sub

Public Function IsFrame(entobj As Object, AutoMode As Boolean) As Boolean '判断是否为图框

On Error Resume Next IsFrame = False Dim i As Integer

Dim FrmNameList As Variant

FrmNameList = \ '图框块、编组名列表 FrmNameList = Split(FrmNameList, \) For i = 0 To UBound(FrmNameList) If entobj.Name = FrmNameList(i) Then IsFrame = True Exit For End If Next

'块名不符时由大小比例判断是否为图框(可能会误判,不过几率不高)

If IsFrame = False And AutoMode And entobj.ObjectName = \ Then entobj.GetBoundingBox ptMin, ptMax Debug.Print ptMin(0) & \ & ptMax(0)

If Abs((ptMax(1) - ptMin(1)) / (ptMax(0) - ptMin(0)) - 1.414) < 0.01 Or Abs((ptMax(1) - ptMin(1)) / (ptMax(0) - ptMin(0)) - 0.707) < 0.01 Then IsFrame = True End If End If

End Function


CADVBA批量打印(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:两化融合管理体系情况介绍PPT要求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: