有个问题一直困扰着我,怎么用VBA获得系统的默认打印机
我做了个一键打印程序,设置打印机一项不知怎样实现,只能指定好打印机名称,但如果换一台电脑,连接的是另外一台打印机就不能打印了,如果能指定为系统的默认打印机就好了。 Dim plotDevices As Variant<br/> plotDevices = Layout.GetPlotDeviceNames()<br/> <br/> Dim x As Integer<br/> For x = LBound(plotDevices) To UBound(plotDevices)<br/> ComboBox2.AddItem plotDevices(x)<br/> <br/> Next<p></p> 楼上正解,如果排队掉后辍是PC3的打印机的话,剩下的就是系统打印机了. 以上只能找到打印机列表,但如果系统有多台打印机,就无法判断哪台是系统默认的打印机,郁闷!!! <p>试试这个方法行不行,获取系统打印机列表:</p><p>Dim X1 As Printer<br/>Dim DefaultPrinter As Variant<br/>x = -1<br/>For Each X1 In Printers<br/> CboPrinter.AddItem X1.DeviceName<br/> If x = -1 Then DefaultPrinter = X1.DeviceName<br/> x = x + 1<br/>Next<br/></p> <p>在VB中可以获得系统的默认打印机,只好在vb中生成一个DLL文件在CAD中加载了。谢谢大家</p> 不错,不过选打印点上一步不就行了吗?即使编程也最多节约一两秒种 layout.configname应该就是缺省的打印机吧
页:
[1]