houlinbo 发表于 2005-2-25 22:24:00

关于打印的问题?

用VBA编程序时,如何设置输出为默认打印机?(什么也不写,行吗?不行!CAD启动后,打印对话框内的默认打印机为“无”)

houlinbo 发表于 2005-2-26 22:31:00

是不是这个问题把高手也难住了?怎么没人回复?

mccad 发表于 2005-2-27 09:35:00

这个问题早就解决了:
以下程序可以将之前打印图纸时的打印机保存起来给下次打印其它图纸时用。
' AutoPlotConfig.dvb
' 版权所有 (C) 1999-2003   乐筑天下 郑立楷
'
'http://www.mjtd.com ; mccad@mjtd.com
'
'   本软件免费可供进行任何用途需求的拷贝、修改及发行, 但请遵循下述原则:
'
'   1)   上列的版权通告必须出现在每一份拷贝里。
'   2)   相关的说明文档也必须载有版权通告及本项许可通告。
'
'   本软件仅提供作为应用上的参考, 而未声明或隐含任何保证; 对于任何特殊
'   用途之适应性, 以及商业销售所隐含作出的保证, 在此一概予以否认。Option Explicit
       Dim PrintName As String
       Dim BigLWeight As String
       Dim ConfigName As String
       Dim PStyleName As String
      
      
'打印或页面设置开始前调用GetPrintName过程
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
       If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
               Call GetPrintName
       End If
End Sub'打印或页面设置结束后调用SetPrintName过程
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
       If CommandName = "PAGESETUP" Or CommandName = "PLOT" Then
               Call SetPrintName
       End If
End Sub'检查默认打印机选项,如果设置与默认选项不同,则更改过来
Private Sub GetPrintName()
       PrintName = GetSetting("MCCAD", "DrawingSetting", "PrintName")
      
       If PrintName"" And ThisDrawing.ActiveLayout.ConfigNamePrintName Then
               ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo
               On Error Resume Next
               ThisDrawing.ActiveLayout.ConfigName = PrintName
       End If
End Sub'保存默认打印机选项到注册表中
Private Sub SetPrintName()
       If PrintName = "" Then
               SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
       Else
               If ThisDrawing.ActiveLayout.ConfigNamePrintName Then
                     If MsgBox("是否将“" & ThisDrawing.ActiveLayout.ConfigName & "”打印机做为默认打印机?", vbYesNo) = vbYes Then
                               SaveSetting "MCCAD", "DrawingSetting", "PrintName", ThisDrawing.ActiveLayout.ConfigName
                     End If
               End If
       End If
End Sub

houlinbo 发表于 2005-2-27 18:59:00

谢谢!

clement 发表于 2005-2-28 12:00:00


建议看一下论坛介绍的这本书,里面有一节介绍的就是这个程序
7.5 使用默认打印机
页: [1]
查看完整版本: 关于打印的问题?