明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2982|回复: 7

有个问题一直困扰着我,怎么用VBA获得系统的默认打印机

[复制链接]
发表于 2007-7-26 11:49:00 | 显示全部楼层 |阅读模式
我做了个一键打印程序,设置打印机一项不知怎样实现,只能指定好打印机名称,但如果换一台电脑,连接的是另外一台打印机就不能打印了,如果能指定为系统的默认打印机就好了。
发表于 2007-7-31 13:59:00 | 显示全部楼层
 Dim plotDevices As Variant
    plotDevices = Layout.GetPlotDeviceNames()
  
    Dim x As Integer
    For x = LBound(plotDevices) To UBound(plotDevices)
        ComboBox2.AddItem plotDevices(x)
     
    Next

发表于 2007-8-2 22:45:00 | 显示全部楼层
楼上正解,如果排队掉后辍是PC3的打印机的话,剩下的就是系统打印机了.
 楼主| 发表于 2007-8-3 08:04:00 | 显示全部楼层
以上只能找到打印机列表,但如果系统有多台打印机,就无法判断哪台是系统默认的打印机,郁闷!!!
发表于 2007-8-4 23:04:00 | 显示全部楼层

试试这个方法行不行,获取系统打印机列表:

Dim X1 As Printer
Dim DefaultPrinter As Variant
x = -1
For Each X1 In Printers
    CboPrinter.AddItem X1.DeviceName
    If x = -1 Then DefaultPrinter = X1.DeviceName
    x = x + 1
Next

 楼主| 发表于 2007-8-5 09:59:00 | 显示全部楼层

在VB中可以获得系统的默认打印机,只好在vb中生成一个DLL文件在CAD中加载了。谢谢大家

发表于 2007-8-14 18:08:00 | 显示全部楼层
不错,不过选打印点上一步不就行了吗?即使编程也最多节约一两秒种
发表于 2007-8-15 16:06:00 | 显示全部楼层
layout.configname应该就是缺省的打印机吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 14:28 , Processed in 0.159874 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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