nxy_918 发表于 2004-4-30 21:56:00

如何用vba程序控制打印输出到哪台打印机?

各位大虾:我的机子上连接着好几台打印机(型号不同)我想用vba程序控制打印输出到哪台打印机?也就是说打印时用方法:ThisDrawing.Plot.PlotToDevice 时能否指定那台打印机?
谢谢!!

mccad 发表于 2004-4-30 22:24:00

可以使用ConfigName来指定打印机,使用GetPlotDeviceNames来获取打印机列表。

houlinbo 发表于 2005-2-26 23:10:00

请问如何设置为默认打印机?当更换打印机时,程序不用动

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

默认打印机为“Default Windows System Printer.pc3”

houlinbo 发表于 2005-2-27 20:12:00

ThisDrawing.PaperSpace.Layout.ConfigName =Default Windows System Printer.pc3不行啊?
ThisDrawing.PaperSpace.Layout.ConfigName =“Default Windows System Printer.pc3”
也不行啊?
请问应用默认打印机的格式是什么?

mccad 发表于 2005-2-28 21:43:00

什么出错内容?
一般来说,在个性打印机前应先调用 ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo 来刷新打印设备。

houlinbo 发表于 2005-2-28 21:56:00

运行时错误'-2145386493(80200003):
输入无效

houlinbo 发表于 2005-2-28 22:05:00

输入时错误:'-2145386493(80200003):
输入无较

houlinbo 发表于 2005-2-28 22:53:00

Private Sub CommandButton1_Click()
ZoomExtents
ThisDrawing.ActiveLayout.RefreshPlotDeviceInfo
ThisDrawing.PaperSpace.Layout.ConfigName = "Default Windows System Printer.pc3"
'设计为草图打印,不计比例
        ThisDrawing.PaperSpace.Layout.StandardScale = acScaleToFit
        ' 设置打印份数为a
ThisDrawing.Plot.NumberOfCopies = a
' 开始范围打印
ThisDrawing.SendCommand "-plot" + Chr(13) + "y" + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + "e" + Chr(13) + Chr(13) + "居中打印" + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + Chr(13) + "y" + Chr(13)
Unload UserForm8
        End Sub
页: [1]
查看完整版本: 如何用vba程序控制打印输出到哪台打印机?