明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1730|回复: 4

关于打印的问题?

[复制链接]
发表于 2005-2-25 22:24:00 | 显示全部楼层 |阅读模式
用VBA编程序时,如何设置输出为默认打印机?(什么也不写,行吗?不行!CAD启动后,打印对话框内的默认打印机为“无”)
 楼主| 发表于 2005-2-26 22:31:00 | 显示全部楼层
是不是这个问题把高手也难住了?怎么没人回复?
发表于 2005-2-27 09:35:00 | 显示全部楼层
这个问题早就解决了:
以下程序可以将之前打印图纸时的打印机保存起来给下次打印其它图纸时用。
  1. ' AutoPlotConfig.dvb
  2. ' 版权所有 (C) 1999-2003   明经通道 郑立楷
  3. '
  4. 'http://www.mjtd.com ; mccad@mjtd.com
  5. '
  6. '     本软件免费可供进行任何用途需求的拷贝、修改及发行, 但请遵循下述原则:
  7. '
  8. '     1)   上列的版权通告必须出现在每一份拷贝里。
  9. '     2)   相关的说明文档也必须载有版权通告及本项许可通告。
  10. '
  11. '     本软件仅提供作为应用上的参考, 而未声明或隐含任何保证; 对于任何特殊
  12. '     用途之适应性, 以及商业销售所隐含作出的保证, 在此一概予以否认。Option Explicit
  13.        Dim PrintName As String
  14.        Dim BigLWeight As String
  15.        Dim ConfigName As String
  16.        Dim PStyleName As String
  17.       
  18.       
  19. '打印或页面设置开始前调用GetPrintName过程
  20. Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
  21.        If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
  22.                Call GetPrintName
  23.        End If
  24. End Sub'打印或页面设置结束后调用SetPrintName过程
  25. Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
  26.        If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
  27.                Call SetPrintName
  28.        End If
  29. End Sub'检查默认打印机选项,如果设置与默认选项不同,则更改过来
  30. Private Sub GetPrintName()
  31.        PrintName = GetSetting("MCCAD", "DrawingSetting", "PrintName")
  32.       
  33.        If PrintName <> "" And ThisDrawing.ActiveLayout.ConfigName <> PrintName Then
  34.                ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo
  35.                On Error Resume Next
  36.                ThisDrawing.ActiveLayout.ConfigName = PrintName
  37.        End If
  38. End Sub'保存默认打印机选项到注册表中
  39. Private Sub SetPrintName()
  40.        If PrintName = "" Then
  41.                SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
  42.        Else
  43.                If ThisDrawing.ActiveLayout.ConfigName <> PrintName Then
  44.                        If MsgBox("是否将“" & ThisDrawing.ActiveLayout.ConfigName & "”打印机做为默认打印机?", vbYesNo) = vbYes Then
  45.                                SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
  46.                        End If
  47.                End If
  48.        End If
  49. End Sub
 楼主| 发表于 2005-2-27 18:59:00 | 显示全部楼层
谢谢!
发表于 2005-2-28 12:00:00 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=26834 建议看一下论坛介绍的这本书,里面有一节介绍的就是这个程序 7.5 使用默认打印机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 21:05 , Processed in 0.180795 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表